Programming interface layer of a service provider for data service delivery

ABSTRACT

A programming interface layer and associated method, computer readable medium and apparatus are provided for service provider delivery of solutions to wireless mobile devices. The programming interface layer including solution delivery functions usable by any of a plurality of vendors to deliver solutions via the service provider.

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application claims the benefit of U.S. Provisional Application No. 60/425,165, filed on Nov. 8, 2002, entitled VENDOR APPLICATION PROGRAMMING INTERFACE OF A SERVICE PROVIDER APPLICATION FOR CLIENT-SERVER BASED SERVICE DELIVERY; U.S. Provisional Application No. 60/424,832, filed on Nov. 8, 2002, entitled SERVICE-VENDOR REQUEST PROCESSING FOR CLIENT-SERVER SERVICE DELIVERY; U.S. Provisional Application No. 60/424,905, filed on Nov. 8, 2002, entitled APPLICATION PACKAGING AND BRANDING IN A FEATURE/SERVICE/SOLUTION CLIENT-SERVER DELIVERY ENVIRONMENT; U.S. Provisional Application No. 60/424,906, filed on Nov. 8, 2002, entitled FEATURE-BASED SOLUTION PROVISIONING FOR CLIENT-SERVER DATA SERVICES; and U.S. Provisional Application No. 60,424,910, filed on Nov. 8, 2002, entitled FEATURE/CONCEPT BASED LOCAL REQUEST FORMATION FOR CLIENT-SERVER DATA SERVICES, the specifications and drawings of which are incorporated herein in full by reference.

FIELD OF THE INVENTION

[0002] The present invention relates to the fields of data processing and wireless communications. More specifically, the present invention relates to request formulation on a client device for consumption of server-based data services, having particular application to data service consumption using wireless mobile communication devices.

BACKGROUND OF THE INVENTION

[0003] Historically, client-server based service delivery has often been server centric, that is, with the servers performing the bulk of the processing, and the clients being tightly coupled and/or persistently connected to the servers. This is especially true in the case of the “thin” clients.

[0004] With advances in microprocessor and related technologies, the processing power of client devices, including wireless client devices such as wireless mobile phones and personal data assistants (“PDAs”), has increased significantly. While, increasingly, more processing is being distributed onto the client devices, e.g. through the use of distributed applets, client-server based service delivery, especially browser/web based service delivery, continues to require tight coupling and/or substantially persistent connections between the client devices and the servers.

[0005] With the advance of the Internet, World Wide Web (“WWW”), and most recently a new generation of wireless “telephony” network, the potential for delivery of a wide range of services to users of client devices continues to expand.

[0006] However, accessing services through the WWW, in particular, through wireless mobile devices, such as wireless mobile phones, has proved to be cumbersome and undesirable.

[0007] A number of “integration” technologies are emerging to enable different web-based services to be more easily integrated and presented as a “single” application. However, the approach is “integrator” centric. Further, the approach continues to require substantially persistent connections between the client devices and the servers, which is undesirable for wireless mobile devices consuming data services through the wireless telephony network, as the consumption of network resources, such as “air time” is costly.

BRIEF DESCRIPTION OF DRAWINGS

[0008] The present invention will be described by way of exemplary embodiments, but not limitations, illustrated in the accompanying drawings in which like references denotes similar elements, and in which:

[0009]FIG. 1 is a pictorial diagram of a number of devices connected to a network which provide a client device also connected to the network with data services in accordance with embodiments of the present invention.

[0010]FIG. 2 is a block diagram of a client device that provides an exemplary operating environment for an embodiment of the present invention.

[0011]FIG. 3 is a block diagram of a framework server that provides an exemplary operating environment for an embodiment of the present invention.

[0012]FIG. 4 is a diagram illustrating the actions taken by devices in a framework system to provide data services in response to feature/concept based requests in accordance with embodiments of the present invention.

[0013]FIG. 5 is a flow diagram illustrating a concept gathering subroutine in accordance with embodiments of the present invention.

[0014]FIG. 6 is a flow diagram illustrating a solution rendering subroutine in accordance with embodiments of the present invention.

[0015]FIG. 7 is a flow diagram illustrating a request handling subroutine in accordance with embodiments of the present invention.

[0016]FIG. 8 is a flow diagram illustrating a solution processing subroutine in accordance with embodiments of the present invention.

[0017]FIG. 9 is a flow diagram illustrating a result handling subroutine in accordance with embodiments of the present invention.

[0018]FIG. 10 is a diagram illustrating the actions taken by devices in a framework system to provide data services in response to solution commands in accordance with embodiments of the present invention.

[0019]FIGS. 11a-d are exemplary screen shots of concept gathering displays in accordance with embodiments of the present invention.

[0020]FIG. 12 is a diagram of an exemplary feature tree in accordance with embodiments of the present invention.

[0021]FIGS. 13a-c illustrate exemplary solution data structures in accordance with embodiments of the present invention.

[0022]FIG. 14 is a diagram illustrating the actions taken by devices in a framework system to provide supplemental information in accordance with embodiments of the present invention.

[0023]FIG. 15 is an exemplary screen shot of a branded display in accordance with embodiments of the present invention.

DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION

[0024] The detailed description which follows is represented largely in terms of processes and symbolic representations of operations by conventional computing components, including processors, memory storage devices for the processors, connected display devices and input devices, all of which are well-known in the art. These processes and operations may utilize conventional computing components in a heterogeneous distributed computing environment, including remote storage servers, computer servers, and memory storage devices, such processes, devices, servers and operations also being known to those skilled in the art and others. Each of these conventional distributed computing components may be accessible by the processors and devices via a communications network.

[0025] Embodiments of the present invention include feature/concept based request formations on a client device for the consumption of data services, having special application to the consumption of data services using a wireless mobile device. Such embodiments of the present invention may include installing features and complementary logic on a client device. Each feature may include a “feature tree” of associated “concept leaves”; and the complementary logic allows a user to locally formulate a request for any one of a wide ranges of data services by traversing the concept leaves of such a feature tree of the data service.

[0026] Other embodiments of the present invention may include provisioning of solutions in response to such feature/concept requests for data services on a client device. Such embodiments contemplate the installation of feature-based solution-related templates on one or more servers. For each feature, the solution-related templates may include at least a solution template describing how results returned for a request for service are to be organized and provided to the client device.

[0027] In various embodiments, the solution-related templates may also provide for an index fragment for organizing multiple results, such that multiple results may be provided in fragments for certain client devices, such as wireless mobile devices with small displays. Additionally such fragments may allow for the aggregation of multiple solution components from multiple vendor sources. In other various embodiments, the solution provisioning approach of the present invention may support provisioning of supplemental information while the user waits for a requested solution.

[0028] In still other embodiments of the present invention, the solution provisioning approach may support “buttons” for use by the user in viewing the solutions provided. Other further embodiments may provide a solution provisioning approach that supports “actions” to be taken by the user, e.g., purchasing, reserving and so forth (in e.g. the form of solution commands).

[0029] Yet further embodiments of the present invention may include a solution provisioning approach that supports the automatic updating of various data structures and/or databases of various applications that support “open” update of their data structures and/or databases, such as favorites, calendars and so forth.

[0030] Embodiments of the present invention may include a service-vendor based architecture for services, and vendor provisioning of services, to be added to a client-server based service delivery framework (“framework”). In one embodiment, the framework may include an engine and a service provider application controlling a number of service applications, which in turn interface with a number of vendors in actually providing the services. Any application the engine calls (through the service provider) to fulfill a user request is considered a service application, so long as it compatibly implements the vendor service provision protocols defined by the framework, which in one embodiment is extensible markup language (“XML”) based.

[0031] In various embodiments of the present invention, communications in the framework are conducted using the hypertext transfer protocol (“HTTP”). The feature/concept based request and subsequent reply for services are both formed with XML and communicated using HTTP. In such an embodiment, the service provider creates a request object from the incoming XML document, identifies the service class to use by mapping a feature identifier (“FID”) against configuration data, loads the service and passes the request object to the service within the command method specified in the request for service. The service executes the requested command and returns a response object to the service provider application as a return value of the command method. The service provider application then turns the response objects into the appropriate XML document for processing into a solution for the requesting client device. The service typically interfaces with one or more vendors to develop the response. In various embodiments, the service provider includes an application programming interface (“API”) for facilitating services development and interacting with vendors. Such an API may be in any appropriate programming format such as “JAVA” or “.NET” compatible programming languages. The API advantageously extracts the communication layer and XML formation so vendors may focus on the business rules associated with the services being implemented. One implementation of the API is set forth below.

[0032] Embodiments of the present invention may also include an application packaging and branding aspect. The packaging and branding of embodiments of the present invention is particularly suitable for a client server based service delivery environment, where each deliverable service comprises a number of features customized for a “brand”. Similarly, feature trees may be defined to assist in the formulation of request, and feature based solution templates may be defined to process results that return from requests for these feature-based services. These feature trees, solution templates, and so forth may then be used in conjunction with branding elements to form brandable service packs with applications having features and solutions. The application may also include one or more of: documents, cascading style sheets, images, favorites (cross applications updateable items), buttons, colors, fonts, text, labels, and the like.

[0033] As previously explained, embodiments of the present invention may operate in a wireless network to communicate between wireless mobile devices and other computing devices and/or servers. It will be appreciated by those of ordinary skill in the art that other networks may be used in addition to a wireless network, e.g., “the Internet” which refers to the collection of networks and routers that communicate between each other on a global level using the Internet Protocol (“IP”) communications protocol (a substantial portion of which is wireline based).

[0034]FIG. 1 is a pictorial diagram of an exemplary data service provisioning system (“framework system”) 100 for providing data services to wireless mobile devices such as client device 200 via a wireless network 110 and other networks 130. For ease of illustration, the client device 200 is shown pictorially as a personal data assistant (“PDA”) in FIG. 1, it being recognized that a large number of client devices in a variety of forms would be included in an actual framework system 100 employing embodiments of the present invention. In general, the client device 200 has computing capabilities and may be any form of device capable of communicating with the framework server 140 in various embodiments of the present invention. Thus, while client device 200 is pictorially shown as a PDA, a mobile computer, cellular phone or the like may be equally employed, although these are just representative devices and should be taken as illustrative and not limiting.

[0035] The framework system 100 functions in a distributed computing environment that includes a plurality of client devices 200, interconnected by a wireless network 110 via a gateway 120 to other networks 130 to a framework server 140. The framework server 140 in turn is also connected to a service provider server 150 in communication with vendor servers 160. All these communications and connections are interconnected via suitable network connections using suitable network communication protocols. In various embodiments, the service provider server 150 and vendor servers 160 communicate with each other in accordance with an API of one aspect of the present invention. The vendor servers 160 may be registered with service provider server 150. In alternate embodiments, the service provider server 150 and vendor servers 160 may communicate in accordance with open/standard protocols.

[0036] As will be appreciated by those of ordinary skill in the art, the framework server 140 may reside on any device accessible by the client device 200 shown in FIG. 1. An exemplary client device 200 is shown in FIG. 2 and described below. An exemplary combined framework server 300 is shown in FIG. 3 (combined with a service provider server 150) and described below.

[0037] It will also be appreciated that while the framework server 140 of the framework system 100 is illustrated as a single device, the framework server 140 may actually comprise more than a single device in an actual system practicing embodiments of the present invention. It will also be appreciated that the framework server 140 may be file servers, database servers or a mixture that includes file servers and database servers. It will further be appreciated by those of ordinary skill in the art, that while the framework server 140 and service provider server 150 are shown as separate devices, in other embodiments of the present invention the framework server 140 and service provider 150 may reside on a single device (as illustrated in FIG. 3). Similarly, the vendor services may be provided via remote vendor servers 160 or may reside on a device sharing either the framework server 140 functionality or service provider server 150 functionality.

[0038]FIG. 2 illustrates an exemplary client device 200 suitable for use in embodiments of the present invention. Those of ordinary skill in the art and others will appreciate that the client device 200 may include many more components than those shown in FIG. 2. However, it is not necessary that all of these generally conventional components be shown in order to disclose an enabling embodiment for practicing the present invention. As shown in FIG. 2, the client device 200 includes a communications interface 230 for connecting to remote devices. Those of ordinary skill in the art will appreciate that the communications interface 230 includes the necessary circuitry, driver and/or transceiver for such a connection and is constructed for use with the appropriate protocols for such a connection. In one embodiment of the present invention, the communication interface 230 includes the necessary circuitry for a wireless network connection.

[0039] The client device 200 also includes a processing unit 210, a display 240 and a memory 250, all interconnected along with the communications interface 230 via a bus 220. Those of ordinary skill in the art and others will appreciate that the display 240 may not be necessary in all forms of wireless computing devices and, accordingly, is an optional component. The memory 250 generally comprises random access memory (“RAM”), a read only memory (“ROM”) and a permanent mass storage device, such as a disk drive, flash RAM, and the like. The memory 250 stores an operating system 255 and a framework client 260 formed in accordance with embodiments of the present invention. In various embodiments, memory 250 also stores one or more feature trees (not shown), each comprising a number of concept leaves to facilitate local formulation of service requests in the form of goal statements for one or more services, and local rendering of returned solution sets to the service requests, to be described more fully below. As will be apparent from the description to follow the local formulation of service requests and rendering of returned solution sets may be performed requiring virtually no interactions with external servers, thereby saving air time (in the case of wireless client devices). Further, feature trees are particular suitable for service vendors to brand their services.

[0040] Additionally, framework client 260 may also maintain a list (not shown) of data items of various databases of applications (not shown) that support “open” update, i.e. allowing other applications to update these data items. Example of the data items include but are not limited to data items of a calendar application. In various embodiments, framework client 260 also maintains the method calls (not shown) to effectuate the updates. Examples of such methods may include Get and Put methods of a calendar application to allow reading from and writing into the calendar databases.

[0041] It will be appreciated that the software components (including the feature trees) may be loaded from a computer readable medium into memory 250 of the client device 200 using a drive mechanism (not shown) associated with the computer readable medium, such as a floppy, tape, DVD/CD-ROM drive, flash RAM or the communications interface 230.

[0042] The term “feature” as used herein refers to a prominent, significant, distinctive aspects of offered services, as the term is generally understood by those of ordinary skill in the art of online data service provision. Examples of features may include but are not limited Airline Reservation, Hotel Reservation, Car Reservation, Restaurant Reservation, and Location/Map Services.

[0043] The term “concept” as used herein refers to an abstract or generic idea of a feature, generalized from particular instances. It may have 1:1 or 1:n mappings to implementation data structures and/or items. Examples of concepts for an Airline Reservation feature may include but are not limited “departing city”, “arrival city”, “departure date”, “return date” and so forth.

[0044] The terms “object” and “methods” as used herein, unless the context clearly indicates to the contrary, are to be accorded their ordinary meanings as understood of those of ordinary skill in the art of object oriented programming.

[0045] Although an exemplary client device 200 has been described that generally conforms to conventional computing devices, those of ordinary skill in the art and others will appreciate that the client device 200 may be any of a great number of computing devices capable of communicating remotely with other devices. In various embodiments of the present invention, the client device 200 may be a cellular telephone, PDA, general purpose computing device or the like.

[0046]FIG. 3 illustrates an exemplary server 300 suitable for use as a combined framework server 140 and service provider 150 in embodiments of the present invention. Those of ordinary skill in the art and others will appreciate that the combined framework and service provider server 300 may include many more components than those shown in FIG. 3. However, it is not necessary that all of these generally conventional components be shown in order to disclose an enabling embodiment for practicing the present invention. As shown in FIG. 3, the combined framework and service provider server 300 includes a communications interface 330 for connecting to remote devices. Those of ordinary skill in the art will appreciate that the communications interface 330 includes the necessary circuitry, driver and/or transceiver for such a connection and is constructed for use with the appropriate protocols for such a connection. In one embodiment of the present invention, the communication interface 330 includes the necessary circuitry for a wired and/or wireless network connection.

[0047] The combined framework and service provider server 300 also includes a processing unit 310, a display 340 and a memory 350, all interconnected along with the communications interface 330 via a bus 320. Those of ordinary skill in the art and others will appreciate that the display 340 may not be necessary in all forms of computing devices and accordingly is an optional component. The memory 350 generally comprises RAM, ROM and a permanent mass storage device, such as a disk drive, flash RAM, or the like. The memory 350 stores an operating system 355, a framework service 360, extensible style sheet language (“XSL”) transformation (“XSLT”) files 365 and a configuration file 370 formed in accordance with embodiments of the present invention. It will be appreciated that the software components may be loaded from a computer readable medium into memory 350 of the combined framework and service provider server 300 using a drive mechanism (not shown) associated with the computer readable medium, such as a floppy, tape, DVD/CD-ROM drive, flash RAM or the communications interface 330.

[0048] Although an exemplary combined framework and service provider server 300 has been described that generally conforms to conventional computing devices, those of ordinary skill in the art and others will appreciate that the combined framework and service provider server 300 may be any of a great number of computing devices or clusters of computing devices capable of communicating remotely with other devices. In the latter case, the framework and service provider functions may be executed on separate servers, e.g. 140 and 150.

[0049] The operation of the feature/concept request formation and data service response formation of the framework system 100 shown in FIG. 1 will be understood by reference to FIG. 4, which includes one exemplary sequence of communication interactions between a client device 200, framework server 140, service provider server 150 and vendor server 160. It will be appreciated by those of ordinary skill in the art, that the communications between the devices illustrated in FIG. 4 may comprise any form of communication connections, including wireless signals (e.g., radio frequency “RF” signals, audio modulated signals, electromagnetic signals of other frequencies, optical signals, or combinations thereof) as well as conventional wire-based signals. Further, framework server 140 may involve multiple service provider servers 150 and in turn, multiple venders 160 in the service of a concept. Similarly, a service provider server 150 may on its own involve multiple vender servers 160 in the service of a concept. However, for ease of understanding, the description to follow will concentrate on the communication between framework server 140 and a service provider server 150, and between a service provider server 150 and a vendor server 160.

[0050] The exemplary communication interactions and processing shown in FIG. 4 begin at subroutine block 500 of framework client 260 on the client device 200 where one or more concepts of a feature are gathered for a data service request in the form of a goal statement. Subroutine 500 is illustrated in FIG. 5 and described in further detail below. The term “goal statement” as used herein refers to an aggregated expression of the concepts of a feature. An example of a goal statement for a Airline reservation feature may be “Flying from the Bay Area into the Chicago area in the middle of this week, and returning in the middle of next week”. Note that in the above example, the concepts of the departure and arrival “cities” and “time” are not particularized to any airport and hour. As will be apparent from the description to follow, the novel concept, goal statement and feature organization of embodiments of the present invention enables the client devices to be substantially sufficient in formulating a data service request without having to consume valuable air time. A factor that makes this possible is the service request in the form of a goal statement having concepts of a feature may be expressed without implementation details of the services (which prior art techniques like URL or SQL queries require).

[0051] Processing then continues to block 410 where the client device 200 sends the concepts returned from subroutine 500 to the framework server 140. Next, in subroutine block 700, the framework server 140 (more specifically, to a service such as framework service 360) handles the received concepts, e.g., adds user and other “stable” and/or default information to the received concepts. Subroutine 700 is illustrated in FIG. 7 and described below. Once subroutine 700 returns, processing continues to block 420 where the framework server 140 sends the concepts augmented with user information to the service provider server 150. Examples of user and other “stable” and/or default information include but are not limited to, the user's name, addresses, phone numbers, email address, age, social security numbers, and so forth. Thus, while the service requests may be advantageously formulated on the client device, substantially without interaction with external servers, saving air time, the formulation is streamlined to avoid having the user to re-enter stable/default information.

[0052] As already noted above, in various embodiments of the present invention the framework server 140 and the service provider server 150 may reside on a single server. In such an embodiment, the framework server and service provider server may be separate processes running on the same physical server.

[0053] The service provider server 150 (more specifically, framework service 360) is next operative, in block 425, to determine which service to use to respond to the received service request comprising the feature/concepts Next, in block 430, the service provider server 150 formulates one or more service requests for one or more service vendors, and sends the service request (or requests) to the vendor server (or servers) 160 that were determined in block 425. At each vendor server 160 the service request is responded to in block 435, with the response being directed back to the service provider server 150. In subroutine block 900, the service provider server 150 handles received service results. Subroutine 900 is illustrated in FIG. 9 and described below.

[0054] Once subroutine 900 returns, the framework server 140 processes the responses to create a solution set in subroutine block 800. Subroutine 800 is illustrated in FIG. 8 and described below.

[0055] In various embodiments, as alluded to earlier, and to be described in more detail below, the service results returned by a service vendor may include commands to be included in the solution set. The service results may also causes one or more new feature tree of concepts to be add to the client device, to allow the user of the client device to formulate a service request of a feature it did not have. For example, a client device may be initially loaded with a feature to make airline reservation. A hotel reservation feature and its concepts may be dynamically added to the client device as part of a reservation solution returned for a reservation request.

[0056] In various embodiments, the communications and cooperation with vendor servers 160 are effectuated via an API of one aspect of the present invention. The API advantageously allow multiple vendors to provide the offered services, including multiple vendors providing the same service, an aspect of great benefit to the data service consumers.

[0057] Once subroutine 800 returns with a solution set, in block 450 the framework server 140 sends the solution set back to the client device 200. On the client device 200 the solution set is processed by the framework client 260 and rendered in subroutine block 600, thereby providing a response to the feature/concepts data service request. Subroutine 600 is illustrated in FIG. 6 and described below.

[0058] The framework system 100, described herein, includes a client device 200 that gathers concepts to be used in requesting data services from the framework server 140. FIG. 5 is a flow diagram illustrating an exemplary client-side concept gathering subroutine 500 of framework client 260 suitable for implementation by the client device 200. Subroutine 500 begins at block 505, where the first concept selection/input is displayed to a user of the client device 200. Next the subroutine waits for user input at block 510. Once input has been received, processing proceeds to decision block 515 where a further determination is made whether the selection is the root of a sub-tree that requires additional user input. If so, processing continues to a recursive call to the get concepts subroutine 500. If, however, in decision block 515 it was determined that the input received was a concept leaf input, processing continues to decision block 525, where a determination is made whether subroutine 500 is finished getting concepts; if not, the next concept is displayed to the user in block 540 and processing loops back to before block 510. If, however, in decision block 525, it was determined that subroutine 500 is finished getting concepts, processing continues to block 599 where the selected concept or concepts are returned to the location where subroutine 500 was invoked.

[0059] In one embodiment of the present invention the results of a client device feature/concepts request are processed and rendered according to subroutine 600. FIG. 6 is a flow diagram illustrating an exemplary client-side result rendering subroutine 600 of framework client 260 suitable for implementation by the client device 200. Subroutine 600 begins at block 605, where a solution set in AEHTML format is received. Each solution in the solution set is an AEHTML file that is a combination of HTML and special AEHTML Elements in XML format. The XSLT that get applied to achieve a solution set in AEHTML format are chosen by the framework server based at least in part on a FID and type of client device 200.

[0060] Next the subroutine parses the AEHTML elements in block 610. Once the AEHTML input has been parsed, processing proceeds to block 615 where local resources references by the AEHTML are accessed. The framework client 260 then renders the solution or solutions in the framework set with the referenced local resources in block 620. When a solution is displayed on a client device 200, other resources (e.g., cascading style sheets, buttons, text and images) may combine to display the final solution. Processing then continues to block 699 where the solution set is returned to the point where subroutine 600 was called.

[0061] In embodiments of the present invention, the framework server 140 handles incoming feature/concept requests according to the logic of subroutine 700. FIG. 7 is a flow diagram illustrating an exemplary framework server request handling subroutine 700 suitable for implementation by the framework server 140. Subroutine 700 begins at block 705, where a feature/concepts request is received with an FID and at least one concept. The framework server 140 next determines whether the requestor was identified (and accordingly whether identifying information is available) in decision block 710. If so, then processing proceeds to block 715 where user identifying information is added to the feature/concept request. If, however, the requestor was not identified, the processing proceeds to block 720 there default information is added to the feature/concepts request.

[0062] Once information either user information or default information has been added to the feature/concepts request, subroutine 700 proceeds to block 725 where a determination is made as to which service provider server 150 will service the feature/concept request. Those of ordinary skill in the art and other will appreciate that if a single service provider server 150 exists, or if a single combined framework server 300 is in use, then all requests would go to the single server. Other determinations may rely on such factors a particular vendors registered with a service provider server 150, or conventional factors, such as load-balancing. Processing then continues to block 799 where processing returns to the point where subroutine 700 was called.

[0063] As noted above, the framework server 140 includes processing functionality (embodied e.g. in framework service 360) for processing solutions to requested data services that are to be delivered to a client device 200. Accordingly, FIG. 8 illustrates a response processing subroutine 800 for processing data service responses before providing them to a client device 200. Subroutine 800 begins at block 805 where the response or responses received from the service provider server 150 are processed according to a feature solution XSLT associated with a feature. Next, in decision block 810, a determination is made whether the processed response generated an index fragment. The term “index fragment” as used herein refers to a piece of a multi-part solution. As will be appreciated by those skill in the art, the employment of index fragment advantageously allows the solutions to be presented in a scalable manner, accommodating a wide range of display capabilities of various wireless mobile devices.

[0064] If an index fragment was generated, processing continues to block 815 where the index fragment is added to an index XML. The term “index XML” as used herein refers to a multi-part solution data structure. If, however, in decision block 810 (or after adding the index fragment to the index XML) it was determined that no index fragment was generated then processing continues to decision block 820. In decision block 820, a determination is made whether more results were received. If more results were received, processing loops back to block 805 where the additional response is processed per the feature solution XSLT. If, however, in decision block 820 it was determined that no more results were received, processing continues to decision block 825 where a determination is made whether an index required (i.e., a solution with multiple parts has been provided). If so, then in block 830, the index XML is processed per the feature index XSLT (a specific XSLT for processing multi-part solutions for delivery to a client device). If, in decision block 825 (or after processing the index XML per the feature index XSLT), it was determined that an index was not required, processing continues to block 835 where a solution set is formed. Processing then continues to block 899 where the solution set is returned to the point where subroutine 800 was called.

[0065] Embodiments of the present invention enable the service provider server 150 to handle incoming vendor results so as to provide the framework server 140 with a response object in which to process solutions for the client device 200. FIG. 9 is a flow diagram illustrating an exemplary service provider server result handling subroutine 900 suitable for implementation by the service provider server 150. Subroutine 900 begins at block 905, where a result is received from a vendor server 160 with at least one result to a feature/concepts request. Processing proceeds to decision block 910 where a determination is made whether a response object exists. If so, then processing proceeds directly to block 920. Otherwise, if no response object exists, then processing proceeds to block 915 where a new response object is created. Next, in block 920, the received response is added to the response object (e.g., by use of an “AppendResult” method from the service provider API). Processing proceeds to decision block 925 where a determination is made whether another result has been received. If so, then processing cycles back to block 920. Once it has been determines in decision block 925 that not more results have been received, processing proceeds to block 930 where the response object is sent to the framework server 150. Subroutine 900 continues to block 999 where processing returns to the point where subroutine 900 was called.

[0066] In various embodiments, the framework system 100 also advantageously allows issueable commands to be included as part of the returned solution sets (also referred to as “solution commands.” The solution commands may be inserted or caused to be inserted into the solution sets by the service vendor providing the services or by the framework and/or service provider server 140 and 150.

[0067] The solution commands are serviced in a similar manner as the feature/concept based service response, as illustrated in FIG. 4. In particular, once a solution has been returned to a client device 200, a command may be then issued in response to the solution. Example commands may include reserving, purchasing, accepting, canceling, modifying a returned solution. Those of ordinary skill in the art and other will appreciate that yet other command may be used in other embodiments of the present invention. FIG. 10 is a flow diagram illustrating an exemplary solution command and response scenario that includes one exemplary sequence of communication interactions and processes with reduced client device communications (and airtime usage) between a client device 200, framework server 140, service provider server 150 and vendor server 160. It will be appreciated by those of ordinary skill in the art, that the communications between the devices illustrated in FIG. 10 may comprise any form of communication connections, including wireless signals as well as conventional wire-based signals.

[0068] The exemplary communication interactions shown in FIG. 10 begin at block 1005 where the client device 200 (more specifically, framework client 260) sends a solution command to the framework server 140. Next in block 1010 the framework server 140 may likewise add user and/or other stable/default information to the sent command, and processing continues to block 1015 where the framework server 140 sends the solution commands augmented with user and/or stable/default information to the service provider server 150. The service provider server 150 is then operative, in block 1020, to determine which service to use to respond to the received command. Next, in block 1030, the service provider server 150 formulates one or more service commands for one or more service vendors, and sends the service command(s) to the vendor server(s) 160 associated with the service(s) determined in block 1020. Note that this may or may not be the service vendor(s) who provided the service(s) that led to the solution set including the solution command being processed. At each vendor server 160, each service command is responded to at block 1030 with the response being directed back to the service provider server 150. In block 1035, the service provider server sends the command result(s) to the framework server 140. The framework server 140 processes the result(s) to form a solution and, in block 1040, a single-solution solution set is created. Next, in block 1050, the framework server 140 sends the solution set back to the client device 200. On the client device 200, the single-solution solution set is processed and rendered in block 1055, thereby providing a response to the solution command.

[0069] In addition to the diagrams illustrated in FIGS. 4-10 showing the gathering of concepts, commands and provision of solutions, FIGS. 11-13 illustrate alternate end-user views of the concept gathering and solution provisioning aspects of embodiments of the present invention. FIGS. 11a-b illustrate exemplary screen shots of concept gathering screens in a travel feature on a client device 200. FIG. 11a illustrates a selectable calendar screen shot 1100A in which a particular user interface date (a concept) component 1110A has been selected. FIG. 11b illustrates a destination airport (another concept) selection screen 1100B in which a destination airport user interface component 1110B has been selected. FIG. 111c illustrates an attraction selection screen shot 1100C in which attraction (still more concepts) user interface components 1110C have been selected. Finally, FIG. 11d illustrates a dinner cruise selection screen shot 1100D in which a particular dinner cruise (yet another concept) user interface component 1110D has been selected. Note that each concept may map to one or more implementation data structures and/or one or more data fields.

[0070] Viewed collectively, screen shots 1100A-D illustrate the gathering of various concepts of the “travel” feature to form a “goal sentence” in a particular feature by using user interface components. Concepts are the elements that are gathered at the client device 200 to determine what a data service request from remote servers. A goal sentence is one way of expressing the combined concepts used in requesting data services. An exemplary goal sentence formed from the concepts shown in FIGS. 11a-d might be: “traveling to Honolulu on Nov. 16, 2003, and requesting a scuba dive and a Waikiki Cruises dinner cruise.” Unlike previous systems, the concepts gathered at the client device 200 are gathered from the previously loaded into the memory 250 of the client device 200. Accordingly, instead of a communication-intensive interaction with remote servers, the concept gather occurs mainly on the client device 200 in embodiments of the present invention.

[0071] In some embodiments of the present invention, a goal sentence or a selection of concepts is maintained in a traversable data structure, such that individual concepts may be traversed to and modified. In such an embodiment, and other concepts that were dependent on a modified concept would be modified or removed accordingly.

[0072] Those of ordinary skill in the art and others will appreciate that a single goal sentence is not necessarily a complete specification of all aspects of the concepts included in the request. Accordingly, in some embodiments of the present invention, dynamic concepts are used such that incomplete goal sentences may be submitted to the framework server 140 which, possibly in communication with the service provider server 150 and/or the vendor servers 160, may return further queries that will allow a more complete goal sentence to be submitted for the acquisition of data services. FIGS. 11a-d are merely meant as illustrative examples of screenshots in which concepts may be gathered and are not meant to be limiting on the embodiments of the present invention. For example, if a selected feature embodied restaurants, then the concepts gathered for the restaurants feature would relate to the type of actions desired (e.g., recommendations, reservations, take-out, delivery, etc.) as well as relevant restaurant types, locations, etc.

[0073]FIG. 12 illustrates an exemplary feature tree 1200 with pick lists 1210 and sub-pick lists 1220 that are used to select leaf nodes/concepts 1230 of the feature tree 1200. The feature tree 1200 illustrated in FIG. 12 shows a selection path indicated by curved arrows A-N in which various pick lists 1210, sub-pick lists 1220 and concepts 1230 are navigated through and selected to form a feature/concepts request such as would be formed in subroutine 500.

[0074] In embodiments of the present invention, each feature tree of concepts that is used to select features for requesting data services is expressed in XML. Complementary logic (e.g. generically implemented as part of framework client 260) is used to traverse the feature trees in order to retrieve concepts. In one exemplary embodiment, each feature XML file comprises sections that describe the resources that will be used in the feature, the labels, the behavior and the concept tree that the user will walk to build a request. One such exemplary “schema” is illustrated in Table 1 below. TABLE 1 <!ELEMENT category (#PCDATA)> <!ELEMENT cmd (#PCDATA)> <!ELEMENT concepts (r | mail)> <!ELEMENT label EMPTY> <!ATTLIST label   txt CDATA #REQUIRED   icon CDATA #REQUIRED   view (icon | list | menu) #IMPLIED > <!ELEMENT logo EMPTY> <!ATTLIST logo   id CDATA #REQUIRED   pos (b | t) #REQUIRED > <!ELEMENT mail (cmd)> <!ATTLIST mail   y CDATA #REQUIRED > <!ELEMENT r EMPTY> <!ATTLIST r   g CDATA #IMPLIED   y CDATA #IMPLIED   p CDATA #IMPLIED   t CDATA #IMPLIED   f CDATA #IMPLIED   fs (0 | 1) #IMPLIED > <!ELEMENT resource (category, ui, rsources?, concepts)> <!ATTLIST resource   t CDATA #REQUIRED   id CDATA #REQUIRED   ver CDATA #REQUIRED   fmt CDATA #IMPLIED   mod CDATA #IMPLIED   sz CDATA #IMPLIED > <!ELEMENT resources (rsc*)> <!ELEMENT rsc EMPTY> <!ATTLIST rsc   t (css | img) #REQUIRED   id CDATA #REQUIRED > <!ELEMENT ui (label+, logo?)> <!ATTLIST ui   reqcount CDATA #IMPLIED

[0075] An exemplary XML document conforming to the schema shown in Table 1 is also illustrated below. TABLE 2 <resource fmt=“xml” id=“flower” mod=“200204090802” sz=“7496” t=“feature” ver=“0”>  <category>Shopping</category>  <ui>   <label icon=“actionflowers_1st” txt=“Flowers” view=“list”/>   <logo id=“actionflowers_lgo” pos=“b”/>  </ui>  <resources>   <rsc id=“_contact_1st” t=“img”/>   <rsc id=“def2_bl” t=“img”/>   <rsc id=“actionFlowers_css” t=“css”/>   <rsc id=“actionFlowers_ico” t=img”/>   <rsc id=“actionFlowers_lgo” t=“img”/>   <rsc id=“actionFlowers_hdr_idx” t=“img”/>   <rsc id=“actionFlowers_hdr_sol” t=“img”/>   <rsc id=“actionFlowers_btn_select” t=“img”/>   <rsc id=“actionFlowers_btn_purchase” t=“img”/>   <rsc id=“actionFlowers_btn_view” t=“img”/>   <rsc id=“actionFlowers_A14-BPC” t=“img”/>   <rsc idactionFlowers_A16-AB” t=“img”/>   <rsc idactionFlowers_A17-PMU” t=“img”/>   <rsc idactionFlowers_A18-TAB2” t=“img”/>   <rsc idactionFlowers_C9-2985” t=“img”/>   <rsc idactionFlowers_D8-3062” t=“img”/>   <rsc idactionFlowers_D9-3072” t=“img”/>   <rsc idactionFlowers_D10-3047” t=“img”/>   <rsc idactionFlowers_D11-3037” t=“img”/>   <rsc idactionFlowers_A14-BPC_big” t=“img”/>   <rsc idactionFlowers_A16-AB_big” t=“img”/>   <rsc idactionFlowers_A17-PMU_big” t=“img”/>   <rsc idactionFlowers_A18-TAB2_big” t=“img”/>   <rsc idactionFlowers_C9-2985_big” t=“img”/>   <rsc idactionFlowers_D8-3062_big” t=“img”/>   <rsc idactionFlowers_D9-3072_big” t=“img”/>   <rsc idactionFlowers_D10-3047_big” t=“img”/>   <rsc idactionFlowers_D11-3037_big” t=“img”/>  </resources>  <concepts>   <r>    <ord f=“Flowers to”>     <how g=“Arrange for” p=“How would you like to order?” y=“pk1”>      <occ i=“def2_bl” p=“Choose a Bouquet:” t=“By Bouquet Name” y=“pk1”>       <flw data=“D11-3037” g=“ a <a>Stunning Beauty</a> bouquet” i=“def2_bl” t=“Stunning Beauty Bouquet”/>       <flw data=“A14-BPC” g=“ a <a>Birthday Party</a> bouquet” i=“def_2bl” t=“Birthday Party Bouquet”/>       <flw data=“A16-AB” g=“an <a>Anniversary</a> bouquet” i=“def2_bl” t=“Anniversay Bouquet”/>       <flw data=“D10-3047” g=“ a <a>Whirlwind Romance</a> bouquet” i=“def2_bl” t=“Whirlwind Romance Bouquet”/>       <flw data=“A18-TAB2” g=“ a <a>Thanks A Bunch</a> bouquet” i=“def2_bl” t=“Thanks A Bunch Bouquet”/>       <flw data=“A17-PMU” g=“ a <a>Pick Me Up</a> bouquet” i=“def2_bl” t=“Pick Me Up Bouquet”/>       <flw data=“D9-3072” g=“ a <a>Basket of Cheer</a> bouquet” i=“def2_bl” t=“Basket of Cheer Bouquet”/>       <flw data=“D8-3062” g=“ a <a>Beloved</a> bouquet” i=“def2_bl” t=“Beloved Bouquet”/>       <flw data=“C9-2985” g=“ a <a>Blooming Masterpiece</a> bouquet” i=“def2_bl” t=“Blooming Masterpiece Bouquet”/>      </occ>      <get g=“ flowers” i=“def2_bl” t=“By Seeing Picture”/>     </how>      <who p=“Send flowers to whom?” y=“pk1”>       <adr i=“def2_bl” t“Enter Name and Adress”>        <nam g=“ for <a>%string% </a>” p=“Recipient's Name?” y=str” f=“<a> %string% </a>”>         <str mxc=“50”/>        </nam>        <loc p=“Delivery Address?” y=“pk1”>         <adr fav=“loc” i=“ftr_addr” t=“Enter An Adress” y=df”>          <df id=“loc” t=“db”>           <select ID=“Select1” NAME=“Select1”>            <col exp=“U|?” id=“region”/>            <col exp=“*” id=“city”/>           </select>           <elements>            <street1 elm=“1” fav=“st1” lbl=“Street” mxc=“40”             req=“2” set=“1;2;3”/>            <city dbc=“city” dsp=“1” elm=“2” fav=“state”             mxc=“40” req=“2” set=“1;3”/>            <stateProv dbc=“state” dsp=“2” elm=“1” fav=“state”             mxc=“2” req=“2” set=“1;3”/>            <postalCode elm=“1” fav=“post” lbl=“Zip” mxc=“5”             req=“2” set=“1;2”/>            <region dbc=“region” def=“?” fav=“region”/>           </elements>           <echo>            <set g=“at <a>%street1%, %city%, %stateProv%</a>” id=“1;3”/>            <set g=“at <a>%street1% (%postalCode%)</a>” id=“2”/>           </echo>           <fav>            <set g=“%firstName%” id=“1;2;3”/>           </fav>          </df>         </adr>         <pim i=“ftr_cont” t=“Use Address from %pim% Contact” y=“df”>          <df id=“cdb” t=“ct”>           <select ID=“Select2” NAME=“Select2”>            <col exp=“*” id=“show”/>           </select>           <elements>            <disp1 dbc=“disp1” dsp=“1”/>            <disp2 dbc=“disp2” dsp=“2”/>            <street1 dbc=“st1” fav=“st1” req=“2” set=“1;2;3”/>            <city dbc=“city” fav=“city” req=“2” set=“1;2”/>            <stateProv dbc=“state” fav=“state” req=“2” set=“1;2”/>            <postalCode dbc=“post” fav=“post” req=“2” set=“1;3”/>           </elements>           <echo>            <set g=“ at <a>%street1%</a>” id=“1;2;3”/>           </echo>           <fav>            <set g=“%street1%” id=“1;2;3”/>           </fav>          </df>         </pim>         <fadr i=“usfav” t=“%_name%” y=“ldb”>          <ldb id=“fw_labels” t=“fav”>           <select ID=“Select3” NAME=“Select3”>            <col exp=“addr” id=“type”/>           </select>           <sort>            <col desc=“0” id=“_name”/>           </sort>           <elements>            <name dbc=“_name” req=“2” set=“1”/>            <guid dbc=“guid” req=“2” set=“2”/>           </elements>           <echo>            <set f=“ %name%” g=“ to <a>%name%</a>” id=“1”/>           </echo>          </ldb>         </fadr>         <fpl i=“usfav” t=“%_name%” y=“ldb”>          <ldb id=“loc” t=“fav”>           <select ID=“Select4” NAME=“Select4”>            <col exp=“*” id=“region”/>           </select>           <sort>            <col desc=“1” id=“_usedate”/>           </sort>           <elements>            <_name dbc=“_name” req“2” set=“1;2;3”/>            <street1 elm=“1” fav=“st1” lbl=“Street” mxc=“40” req=“2” set=“1;2;3”/>            <city dbc=“city” dsp=“1” elm=“2” fav=“city” mxc=“40” req=“2” set=“1;3”/>            <stateProv dbc=“state” dsp=“2” elm=“1” fav=“state” mxc=“2” req=“2” set=“1;3”/>            <postalCode elm=“1” fav=“post” lbl=“Zip” mxc=“5” req=“2” set=“1;2”/>           </elements>           <echo>            <set g=“ to <a>%_name%</a> address” id=“1;2;3”/>           </echo>          </ldb>         </fpl>        </loc>       </adr>       <cot i=“_contact_lst” t=“Choose Contact From %pim%”>        <pim i=“ftr_cont” y=“df”>         <df id=“cdb” t=“ct”>          <select ID=“Select5” NAME=“Select5”>           <col exp=“*” id=“show”/>          </select>          <elements>           <disp1 dbc=“disp1” dsp=“1”/>           <disp2 dbc=“disp2” dsp=“2”/>           <firstName dbc=“f_name” fav=“f_name” req=“2” set=“1;2;3”/>           <lastName dbc=“l_name” fav=“l_name” req=“2” set=“1;2;3”/>           <street1 dbc=“st1” fav=“st1” req=“2” set=“1;2;3”/>           <city dbc=“city” fav=“city” req=“2” set=“1;2”/>           <stateProv dbc=“state” fav=“state” req=“2” set=“1;2”/>           <postalCode dbc=“post” fav=“post” req=“2” set=“1;3”/>          </elements>          <echo>           <set f=“%firstName% %lastName%” g=“ <a>%firstName% %lastName% <a> at <a>%street1%</a>“id=“1;2;3”/>          </echo>          <fav>           <set g=“%street1%” id=“1;2;3”/>          </fav>         </df>        </pim>       </cot>      </who>      <dat g=“on <a>%date%</a>” p=“Delivery date?” r=“1” y=“d”>       <d dd=“1” mnr=“1” mxr“120”/>      </dat>      <asm p=“Sign it with a message?” y=“pk1”>      <nom g=“with <a>no message</a>” i=“gen_n” t=“No —Just My Name”/>      <msg fav=“flower_note” g=“with a <a>message</a>” i=“gen_y” p=“Message:” t=“Yes —Include a Message” y=“str”>       <str fav=“string” mxc=“255”/>      </msg>     </asm>     <asi p=“Any special instructions?” y=“pk1”>      <noi g=“, and <a>no special instructions</a>.” i=“gen_n” t=“No”/>      <ins fav=“flower_request” g=“, and <a>special instructions</a>.” i=“gen_y” p=“Special instructions:” t=“Yes —Include Instructions” y=“str”>       <str fav=“string” mxc=“255”/>      </ins>     </asi>    </ord>   </r>  </concepts> </resource>

[0076]FIGS. 13a-c illustrate exemplary solution structures 1300A-C. FIG. 13a illustrates an XML embodiment of return results where a result from the service provider server 150 has been processed through a solution XSLT to form AEHTML output at the framework server 140. The various elements of the solution structure 1300A included a “deck” of html files 1305A, a custom menu 1310A, custom buttons 1315A, calendar information 1320A, favorites information 1325A and text information 1330A. These elements are then processed at the client device to automatically updating of various data structures and/or databases on the client device 200. The client device may contain various applications that support “open” update of their data structures and/or databases, such as favorites, calendars and so forth. The framework client 260 is operative to identify, and update with updated information, the various applications' data structures and/or databases on the client device 200.

[0077]FIG. 13b illustrates the resulting processing for an index fragment that has been processed through the index XSLT to form the formatted index fragment 1300B. FIG. 13c illustrates a combined XML document with one or more solutions and/or indices that are provided as a solution set back to the client device 200 from the framework server 140. Thus, as described earlier, the solution sets of embodiments of the present invention are particular scalable for a wide range of wireless mobile communication devices with a wide range of display capabilities. The exemplary API include various default classes and methods. Among them are the following classes, each having appropriate methods:

[0078] AnswersResponse—This class is a container for one or more results as well as auxiliary data.

[0079] BinaryResource—This class represents a binary resource.

[0080] BooleanResponse—This class represents a Boolean (true or false) response.

[0081] ClientInfo—This class represents information about the client making the request.

[0082] CodeResponse—This class represents a numeric code response.

[0083] Concepts—This class represents concepts.

[0084] ConceptsResponse—This class represents a concepts response.

[0085] ConceptValues—This class represents the values posted by the client as a result of submitting concepts to the server.

[0086] ConfigFile—This class represents an XML configuration file for a plugin.

[0087] DeckResponse—This class represents an HTML deck response, which is displayed as rich markup on the client.

[0088] Device—This class represents a client device.

[0089] Devices—This class represents a set of client devices.

[0090] Identity—This class represents a person's name broken out into first name, last name, etc.

[0091] ImageResource—This class represents an image (graphic) resource.

[0092] InfoRequest—This class represents the XML content returned by an IServiceInfo instance in response to GetInfoRequest.

[0093] InfoRequestResponse—This class represents an “info request” response, which is returned by GetInfoRequest.

[0094] InfoResponse—This class represents an info response (sometimes called an “action info” response).

[0095] Message—This class represents a message.

[0096] MessageResponse—This class represents a message response.

[0097] Resource—This is the base class for all types of resources.

[0098] ResourceReference—This class represents a resource reference, which is a description or “pointer” to an actual resource.

[0099] ResourcesResponse—This class represents a response of zero or more resources.

[0100] Response—This is the base class for various responses sent to the engine.

[0101] Result—This class represents a result for managing state in your plugin as well as providing input to various XSLT transformations.

[0102] User—This class represents an end user of the framework.

[0103] UserDataResponse—This class represents a user data response.

[0104] One embodiment of the present invention is directed to providing a programming interface for the service provider server (or a service provider service on another server) that will enable vendors to integrate their communications with the service provider server 150. The programming interface in one exemplary embodiment of the present invention is an API with specific data service functions for managing a multitude of data services provided within the framework system 100. One exemplary embodiment of such an API is described in the attached appendix. However, those of ordinary skill in the art and others will appreciate that the attached API description is merely one example of a programming interface suitable for servicing the data service provision in the framework system 100 and that, within the scope and spirit of the present invention, other APIs are possible.

[0105] Those of ordinary skill in the art and others will appreciate that there are many possible API function calls that may be made in a data service provisioning system such as the framework system 100. The appendix to this detailed description includes a number of exemplary API function calls. Those of ordinary skill in the art and others will appreciate that both more and fewer API function calls (and classes) may be employed in other embodiments of a framework system 100, without departing from the spirit and scope of the present invention.

[0106] In various embodiments, the framework system 100 also allows the provision of supplementary information, e.g. by framework server 140, while the client device 200 is wait for answers to the service requests and/or solution commands. FIG. 14 illustrates the supplementary information provisioning services of the framework system 100 shown in FIG. 1. FIG. 14 includes one exemplary sequence of communication interactions between a client device 200, framework server 140, service provider server 150 and vendor server 160. It will be appreciated, by those of ordinary skill in the art, that the communications between these devices may comprise any form of suitable wireless and/or wired communications signals.

[0107] The exemplary communication interactions and processing shown in FIG. 14 begin with the client device 200 sending a solution command in block 1405 to the framework server 140. The framework server 140 then checks for the FID in a configuration file to identify the feature associated with the solution command in block 1410. Next, in decision block 1415, a determination is made whether the FID was found in the configuration file.

[0108] If, in decision block 1415, it was determined that the FID was in the configuration file and accordingly the appropriate feature has been identified then, in block 1420, a get information request command is sent to the service provider server 150. If, however, in decision block 1415, it was determined that the FID was not found in the configuration file 370, processing ends at block 1499 and no supplemental information is returned to the client device 200.

[0109] Once a service provider 150 receives a get info request command then in decision block 1425 a determination is made whether to veto the get info request. If the get info request is vetoed, processing also ends at block 1499 and no supplemental information is returned to the client device 200. If, however, in decision block 1425, it was determined not to veto the get info request, processing continues to block 1430 where the get info command is formed. Next, in block 1435, the get info command is sent for each source/vendor that will be used to get the supplemental information. The vendor server (or servers in the case of multiple get info commands) 160 responds to the get info command in block 1440. The response to the get info command is sent back to the service provider server 150. At the service provider server 150 the get info command result (or possibly multiple results if more than one result is returned from a command or more than one command was issued) is sent, in block 1445, to the framework server 140.

[0110] In block 1450, the framework server applies an XSL transformation to each result. These transformed results are then passed to block 1455, which adds the results to an aggregate document. In block 1460, the aggregate document is processed to form the supplemental information to be provided to a client device 200.

[0111] Next in decision block 1465, a determination is made whether a solution was already returned to the client device from their initial request for information (non-supplemental information). If so, processing ends at block 1499 and no supplemental information is returned to the client device 200. If, however, in decision block 1465 it was determined that no solution has yet been returned to the client device 200, processing proceeds to block 1470 where the aggregated supplemental information is sent to the client device 200. In block 1475 the client device displays the aggregated supplemental information document.

[0112] In addition to requesting and providing data services, embodiments of the present invention provide further customization and localization of both concept-gathering interfaces as well as solutions provided in response to data service requests. Accordingly, in some embodiments of the present invention, “packs” are provided to serve as containers for a collection of one or more applications. Packs are located on the highest level of the hierarchical tree and therefore require minimal immediate resources. Packs provide the ability for branding and generic control over the look and feel of the data services that are requested by and provided to the client device 200. In one exemplary embodiment, a pack directory contains XML files that describe an interface with particular branding, static documents, and resources (style sheets, applications, etc.) that will be used in a pack. By using XML and the hierarchical resource structures of the present invention it is possible to provide both data services and a user interface that conforms to the requirements of the service providers and/or local requirements of a client device (e.g., screen size, language, color depth, screen resolution, sound capabilities, network connection, user specified preferences, marketing initiatives, and the like).

[0113] For example, a pack branding a number of applications may be created as follows in Table 3. TABLE 3 <resource t=“pack” id=“rumpus” ver=“0”>   <ui>     <packName>My ActionEngine</packName>     <!-- desktop icon -->     <label icon=“default_01” txt=“My ActionEngine” view=     “icon”/>     <!-- logo/branding -->     <logo id=“br_ae_logo” pos=“b”/>   </ui>   <!--     Documents.   -->   <docs>     <doc id=“eula” val=“ae_eula”/>     <doc id=“about” val=“ae_about”>     <doc id=“send” val=“ae_send”/>;     <doc id=“sending” val=“ae_sending”/>     <doc id=“sign-up” val=“ae_sign-up”/>   </docs>   <tags>     <tag id=“client” val=“My Action Engine”/>     <tag id=“client_pos” val=“My Action Engine's”/>     <tag id=“sup_phone” val=“1-866-SUPPORT”/>     <tag id=“sup_mail” val=“support@actionengine.com”/>     <tag id=“sup_url” val=     “http://www.actionengine.com/support”/>   </tags>   <!--     External resources.   -->   <resources>     <rsc t=“catalog” id=“rumpus”/>     <rsc t=“fav” id=“fw_labels”/>     <rsc t=“css” id=“mycasio_css”/>     <rsc t=“css” id=“actioninfo_css”/>     <rsc t=“css” id=“signup_css”/>;     <rsc t=“img” id=“actioninfo_hdr”/>     <rsc t=“img” id=“ae_driven_tagline”/>     <rsc t=“img” id=“ae_msg_send”/>     <rsc t=“img” id=“ae_msg_sign-up”/>     <rsc t=“img” id=“ae_msg_results”/>     <rsc t=“img” id=“ae_send_hdr”/>     <rsc t=“img” id=“ae_sending”/>     <rsc t=“img” id=“ae_home_hdr”/>     <rsc t=“img” id=“ae_about_hdr”/>   ...   </resources>   ... </resource>

[0114]FIG. 15 illustrates an exemplary screen shot 1500 having branded elements that could be modified in accordance with embodiments of the present invention. The screen shot 1500 includes images 1505, 1506, customizable icons 1510-1512; custom text 1515; custom background 1530; and interface specified buttons 1520-1522. Image 1505 may e.g. be the image of an airline or an alliance of airlines providing the reservation services. Those of ordinary skill in the art and others will appreciate that the screen shot 1500 is merely one exemplary screen shot having features that may be customizable to present a consistent branding experience to a consumer of data services in accordance with embodiments of the present invention. Those of ordinary skill in the art and others will appreciate that other brand invoking information may be included, such as cascading style sheets, themes and the like.

[0115] Although various embodiments of the present invention have been illustrated and described, it will be appreciated that changes could be made without departing from the spirit and scope of the invention as defined by the appended claims. In particular, it will be appreciated that while the processes and communication interactions of the present invention have been described in a particular order, those of ordinary skill in the art and others will appreciate that other orders of processes and/or communication interactions will also fall within the spirit and scope of the present invention. APPENDIX API Class Library ActionEngine.Api Namespace Namespace hierarchy Classes Class Description Address This class represents a street address. Addresses This class represents a collection of Address objects. AnswersResponse This class is a container for one or more results as well as auxilary data. BinaryResource This class represents a binary resource. BooleanResponse This class represents a Boolean (true or false) response. ClientInfo This class represents information about the client making the request. CodeResponse This class represents a numeric code response. Concepts This class represents concepts. ConceptsResponse This class represents a concepts response. ConceptValues This class represents the values posted by the client as a result of submitting concepts to the server. ConfigFile This class represents an XML configuration file for a plugin. CreditCard This class represents a credit card. CreditCards This class represents a collection of CreditCard objects. DeckResponse This class represents an HTML deck response, which is displayed as rich markup on the client. Device This class represents a client device. Devices This class represents a set of client devices. Email This class represents an e-mail address. Emails This class represents a collection of Email objects. FriendlyData This is the base class for various user data classes that have friendly names. FriendlyDataSet This is the base class for various collections of user data that have friendly names. FriendlyPair This class represents a pairing of a friendly name with a FriendlyData object. HealthResponse This class represents a response to report on the health of a module. Identity This class represents a person's name broken out into first name, last name, etc. ImageResource This class represents an image (graphic) resource. InfoRequest This class represents the XML content returned by an IServiceInfo instance in response to GetInfoRequest. InfoRequestResponse This class represents an “info request” response, which is returned by GetInfoRequest. InfoResponse This class represents an info response (sometimes called an “action info” response). Message This class represents a message. MessageResponse This class represents a message response. Phone This class represents a phone number. Phones This class represents a collection of Phone objects. PluginEnvironment This class represents various aspects of a plugin's environment. RequestProcessor This class is for internal use only. Resource This is the base class for all types of resources. ResourceReference This class represents a resource reference, which is a description or “pointer” to an actual resource. ResourcesResponse This class represents a response of zero or more resources. Response This is the base class for various responses sent to the engine. Result This class represents a result for managing state in your plugin as well as providing input to various XSLT transformations. SupportedAuthDataResponse This class represents the categories of data supported by the authentication plugin. ThreadStorage This class manages framework-related storage for the current thread, and provides a way to spawn new threads while passing along the parent's thread storage. Tracer This class is used to add trace information to the response sent to the engine. User This class represents an end user of the framework. UserDataResponse This class represents a user data response. UserDocument This class provides functionality for processing user documents. UserDocumentException This exception class relates to the processing of user documents. UserName This class represents a user name. Interfaces Interface Description lAuthHandler This interface represents a user authentication handler, which can do custom authorization handling as well as taking ownership of various categories of user data. IHealth !@# IModule This interface represents a module, which is the base interface for IAuthHandler and IService but can also represent a module on its own. IService This interface represents a service plugin, which processes requests and generally returns solutions to a client for viewing by the end user. IServiceInfo This interface represents “info” related functionality (sometimes called “action info”) for a service. Delegates Delegate Description DieHandler This delegate is used for sending “die” events. Enumerations Enumeration Description CodeResponse.Code The enumeration of valid codes. CreditCard.Type The enumeration of valid credit card types. HealthResponse.Status The enumeration of health statuses. InfoRequest.Command The enumeration of valid primary commands associated with GetInfoRequest. Message.Severity The enumeration of message severities. Phone.Type The enumeration of valid phone types. Resource.Type The enumeration of valid resource types. ResourceReference.Priority The enumeration of resource fetching priorities. ResourceReference.Protocol The enumeration of resource fetching protocols. SupportedAuthDataResponse.Data The enumeration of valid data categories. Tracer.Level The enumeration of valid trace levels. UserDocumentException.Code The enumeration of error codes related to this exception.

[0116] API Class Library

[0117] Address Class

[0118] This class represents a street address.

[0119] For a list of all members of this type, see Address Members.

[0120] System.Object

[0121] FriendlyData

[0122] Address

[0123] public class Address: FriendlyData

[0124] Requirements

[0125] Namespace: ActionEngine.Api

[0126] Assembly: aefwapi (in aefwapi.dll)

[0127] See Also

[0128] Address Members|ActionEngine.Api Namespace|Addresses

[0129] API Class Library

[0130] Address Members

[0131] Address overview Public Instance Constructors Address Constructor This constructs an empty Address. Public Instance Properties City The city. Company The company. Country The country. CountyDistReg The county, district, or region. FriendlyName The friendly name of the user data. (inherited from FriendlyData) Lat The latitude. Lon The longitude. PoBox The post office box. PostalCode The postal code (or “zip code” in the United States). StateProv The state or province. Street1 The first line of the street address. Street2 The second line of the street address. Street3 The third line of the street address. Public Instance Methods Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetHashCode Serves as a hash function for a (inherited from Object) particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Object) Gets the Type of the current instance. ToString This returns an XML representation of the address. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone Creates a shallow copy of the current (inherited from Object) Object.

[0132] See Also

[0133] Address Class|ActionEngine.Api Namespace|Addresses

[0134] API Class Library

[0135] Address Constructor

[0136] This constructs an empty Address.

[0137] public Address(

[0138] string friendlyName

[0139] );

[0140] Parameters

[0141] friendlyName

[0142] The friendly name of the address.

[0143] Remarks

[0144] This constructs an empty address. All address members are initialized to the empty string, and the latitude and longitude are assigned the minimum float values.

[0145] See Also

[0146] Address Class|ActionEngine.Api Namespace

[0147] API Class Library

[0148] Address Properties

[0149] The properties of the Address class are listed below. For a complete list of Address class members, see the Address Members topic.

[0150] Public Instance Properties City The city. Company The company. Country The country. CountyDistReg The county, district, or region. FriendlyName The friendly name of the user data. (inherited from FriendlyData) Lat The latitude. Lon The longitude. PoBox The post office box. PostalCode The postal code (or “zip code” in the United States). StateProv The state or province. Street1 The first line of the street address. Street2 The second line of the street address. Street3 The third line of the street address.

[0151] See Also

[0152] Address Class|ActionEngine.Api Namespace|Addresses

[0153] API Class Library

[0154] Address.City Property

[0155] The city.

[0156] public string City {get; set;}

[0157] See Also

[0158] Address Class|ActionEngine.Api Namespace

[0159] API Class Library

[0160] Address.Company Property

[0161] The company.

[0162] public string Company {get; set;}

[0163] See Also

[0164] Address Class|ActionEngine.Api Namespace

[0165] API Class Library

[0166] Address.Country Property

[0167] The country.

[0168] public string Country {get; set;}

[0169] See Also

[0170] Address Class|ActionEngine.Api Namespace

[0171] API Class Library

[0172] Address.CountyDistReg Property

[0173] The county, district, or region.

[0174] public string CountyDistReg {get; set;}

[0175] See Also

[0176] Address Class|ActionEngine.Api Namespace

[0177] API Class Library

[0178] Address.Lat Property

[0179] The latitude.

[0180] public float Lat {get; set;}

[0181] Remarks

[0182] The latitude. Valid values are −90<=x<=90.

[0183] Exceptions Exception Type Condition ArgumentException This is thrown when setting the latitude to an invalid value.

[0184] See Also

[0185] Address Class|ActionEngine.Api Namespace

[0186] API Class Library

[0187] Address.Lon Property

[0188] The longitude.

[0189] public float Lon {get; set;}

[0190] Remarks

[0191] The longitude. Valid values are −180<=x<=180.

[0192] Exceptions Exception Type Condition ArgumentException This is thrown when setting the longitude to an invalid value.

[0193] See Also

[0194] Address Class|ActionEngine.Api Namespace

[0195] API Class Library

[0196] Address.PoBox Property

[0197] The post office box.

[0198] public string PoBox {get; set;}

[0199] See Also

[0200] Address Class|ActionEngine.Api Namespace

[0201] API Class Library

[0202] Address.PostalCode Property

[0203] The postal code (or “zip code” in the United States).

[0204] public string PostalCode {get; set;}

[0205] See Also

[0206] Address Class|ActionEngine.Api Namespace

[0207] API Class Library

[0208] Address.StateProv Property

[0209] The state or province.

[0210] public string StateProv {get; set;}

[0211] See Also

[0212] Address Class|ActionEngine.Api Namespace

[0213] API Class Library

[0214] Address.Street1 Property

[0215] The first line of the street address.

[0216] public string Street1 {get; set;}

[0217] See Also

[0218] Address Class|ActionEngine.Api Namespace

[0219] API Class Library

[0220] Address.Street2 Property

[0221] The second line of the street address.

[0222] public string Street2 {get; set;}

[0223] See Also

[0224] Address Class|ActionEngine.Api Namespace

[0225] API Class Library

[0226] Address.Street3 Property

[0227] The third line of the street address.

[0228] public string Street3 {get; set;}

[0229] See Also

[0230] Address Class|ActionEngine.Api Namespace

[0231] API Class Library

[0232] Address Methods

[0233] The methods of the Address class are listed below. For a complete list of Address class members, see the Address Members topic. Public Instance Methods Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetHashCode Serves as a hash function for a (inherited from Object) particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Object) Gets the Type of the current instance. ToString This returns an XML representation of the address. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone Creates a shallow copy of the current (inherited from Object) Object.

[0234] See Also

[0235] Address Class|ActionEngine.Api Namespace|Addresses

[0236] API Class Library

[0237] Address.ToString Method

[0238] This returns an XML representation of the address.

[0239] public override string ToString( );

[0240] Return Value

[0241] An XML representation of the address.

[0242] See Also

[0243] Address Class|ActionEngine.Api Namespace

[0244] API Class Library

[0245] Addresses Class

[0246] This class represents a collection of Address objects.

[0247] For a list of all members of this type, see Addresses Members.

[0248] System.Object

[0249] FriendlyDataSet

[0250] Addresses

[0251] public class Addresses: FriendlyDataSet

[0252] Requirements

[0253] Namespace: ActionEngine.Api

[0254] Assembly: aefwapi (in aefwapi.dll)

[0255] See Also

[0256] Addresses Members|ActionEngine.Api Namespace|Address

[0257] API Class Library

[0258] Addresses Members

[0259] Addresses overview Public Instance Constructors Addresses Constructor This constructs an empty collection of addresses. Public Instance Properties GetPrimary This retrieves the primary address of the collection. Item This retrieves an address by the given friendly name. Public Instance Methods Add This adds an address to the collection. Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetEnumerator This returns an IEnumerator for (inherited from FriendlyDataSet) enumerating the collection of friendly data. GetHashCode Serves as a hash function for a (inherited from Object) particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Object) Gets the Type of the current instance. Remove This removes the address with the given friendly name. SetPrimary This sets the primary friendly data for (inherited from FriendlyDataSet) the collection. ToString This returns an XML representation of (inherited from FriendlyDataSet) the friendly data set. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone Creates a shallow copy of the current (inherited from Object) Object.

[0260] See Also

[0261] Addresses Class|ActionEngine.Api Namespace|Address

[0262] API Class Library

[0263] Addresses Constructor

[0264] This constructs an empty collection of addresses.

[0265] public Addresses( );

[0266] See Also

[0267] Addresses Class|ActionEngine.Api Namespace

[0268] API Class Library

[0269] Addresses Properties

[0270] The properties of the Addresses class are listed below. For a complete list of Addresses class members, see the Addresses Members topic.

[0271] Public Instance Properties GetPrimary This retrieves the primary address of the collection. Item This retrieves an address by the given friendly name.

[0272] See Also

[0273] Addresses Class|ActionEngine.Api Namespace|Address

[0274] API Class Library

[0275] Addresses.GetPrimary Property

[0276] This retrieves the primary address of the collection.

[0277] public Address GetPrimary {get;}

[0278] Remarks

[0279] This retrieves the primary address of the collection. If the collection is empty, null is returned.

[0280] See Also

[0281] Addresses Class|ActionEngine.Api Namespace

[0282] API Class Library

[0283] Addresses.Item Property

[0284] This retrieves an address by the given friendly name.

[0285] public Address this[

[0286] string friendlyName

[0287] ] {get;}

[0288] Remarks

[0289] This retrieves an address by the given friendly name. If none is found, null is returned.

[0290] See Also

[0291] Addresses Class|ActionEngine.Api Namespace

[0292] API Class Library

[0293] Addresses Methods

[0294] The methods of the Addresses class are listed below. For a complete list of Addresses class members, see the Addresses Members topic. Public Instance Methods Add This adds an address to the collection. Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetEnumerator This returns an IEnumerator for (inherited from FriendlyDataSet) enumerating the collection of friendly data. GetHashCode Serves as a hash function for a (inherited from Object) particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType Gets the Type of the current instance. (inherited from Object) Remove This removes the address with the given friendly name. SetPrimary This sets the primary friendly data for (inherited from FriendlyDataSet) the collection. ToString This returns an XML representation of (inherited from FriendlyDataSet) the friendly data set. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone Creates a shallow copy of the current (inherited from Object) Object.

[0295] See Also

[0296] Addresses Class|ActionEngine.Api Namespace|Address

[0297] API Class Library

[0298] Addresses.Add Method

[0299] This adds an address to the collection.

[0300] public void Add(

[0301] Address address

[0302] );

[0303] Parameters

[0304] address

[0305] The address to add to the collection.

[0306] See Also

[0307] Addresses Class|ActionEngine.Api Namespace

[0308] API Class Library

[0309] Addresses.Remove Method

[0310] This removes the address with the given friendly name.

[0311] public Address Remove(

[0312] string friendlyName

[0313] );

[0314] Parameters

[0315] friendlyName

[0316] The friendly name of the address to remove.

[0317] Return Value

[0318] The address removed is returned, or null if not found.

[0319] Remarks

[0320] This removes the address with the given friendly name. If the address is not found, no action is taken. If the address removed was primary, a new one is selected.

[0321] See Also

[0322] Addresses Class|ActionEngine.Api Namespace

[0323] API Class Library

[0324] AnswersResponse Class

[0325] This class is a container for one or more results as well as auxilary data.

[0326] For a list of all members of this type, see AnswersResponse Members.

[0327] System.Object

[0328] Response

[0329] Answers Response

[0330] public class AnswersResponse: Response

[0331] Remarks

[0332] This class is a container for one or more results as well as auxilary data. In the future, other items besides a result may be added to an “answer.”

[0333] Requirements

[0334] Namespace: ActionEngine.Api

[0335] Assembly: aefwapi (in aefwapi.dll)

[0336] See Also

[0337] AnswersResponse Members|ActionEngine.Api Namespace|Result

[0338] API Class Library

[0339] AnswersResponse Members

[0340] AnswersResponse overview Public Instance Constructors AnswersResponse Overloaded. Initializes a new instance of the AnswersResponse class. Public Instance Methods AddLogOnAs This adds a user name and password to the response. When the client encounters this information, it will behave as if the user signed on himself. AddMessage This adds a message to the response. Messages are generally displayed on the client as a pop-up dialog. AppendResult This appends a result to the collection. Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetHashCode Serves as a hash function for a (inherited from Object) particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Object) Gets the Type of the current instance. ToString This returns an XML representation (inherited from Response) of the response. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone Creates a shallow copy of the current (inherited from Object) Object.

[0341] See Also

[0342] AnswersResponse Class|ActionEngine.Api Namespace|Result

[0343] API Class Library

[0344] AnswersResponse Constructor

[0345] This constructs a response with a single result.

[0346] Overload List

[0347] This constructs a response with a single result.

[0348] public AnswersResponse(Result);

[0349] This constructs a response with one or more results.

[0350] public AnswersResponse(Result

);

[0351] See Also

[0352] AnswersResponse Class|ActionEngine.Api Namespace

[0353] API Class Library

[0354] AnswersResponse Constructor (Result)

[0355] This constructs a response with a single result.

[0356] public AnswersResponse(

[0357] Result result

[0358] );

[0359] Parameters

[0360] result

[0361] The result, which cannot be null.

[0362] See Also

[0363] AnswersResponse Class|ActionEngine.Api Namespace|AnswersResponse Constructor

[0364] Overload List

[0365] API Class Library

[0366] AnswersResponse Constructor (Result

)

[0367] This constructs a response with one or more results.

[0368] public AnswersResponse(

[0369] Result

results

[0370] );

[0371] Parameters

[0372] results

[0373] The results, which cannot be null or zero in length.

[0374] See Also

[0375] AnswersResponse Class|ActionEngine.Api Namespace|AnswersResponse Constructor Overload List

[0376] API Class Library

[0377] AnswersResponse Methods

[0378] The methods of the AnswersResponse class are listed below. For a complete list of AnswersResponse class members, see the AnswersResponse Members topic. Public Instance Methods AddLogOnAs This adds a user name and password to the response. When the client encounters this information, it will behave as if the user signed on himself. AddMessage This adds a message to the response. Messages are generally displayed on the client as a pop-up dialog. AppendResult This appends a result to the collection. Equals (inherited from Determines whether the specified Object is equal Object) to the current Object. GetHashCode Serves as a hash function for a particular type, (inherited from Object) suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited Gets the Type of the current instance. from Object) ToString (inherited This returns an XML representation of the from Response) response. Protected Instance Methods Finalize (inherited Allows an Object to attempt to free resources and from Object) perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone Creates a shallow copy of the current Object. (inherited from Object)

[0379] See Also

[0380] AnswersResponse Class|ActionEngine.Api Namespace|Result

[0381] API Class Library

[0382] AnswersResponse.AddLogOnAs Method

[0383] This adds a user name and password to the response. When the client encounters this information, it will behave as if the user signed on himself.

[0384] public void AddLogOnAs(

[0385] UserName userName,

[0386] string password

[0387] );

[0388] Parameters

[0389] userName

[0390] The user name to log on as.

[0391] password

[0392] The user's password.

[0393] See Also

[0394] AnswersResponse Class|ActionEngine.Api Namespace

[0395] API Class Library

[0396] AnswersResponse.AddMessage Method

[0397] This adds a message to the response. Messages are generally displayed on the client as a pop-up dialog.

[0398] public void AddMessage(

[0399] Message message

[0400] );

[0401] Parameters

[0402] message

[0403] The message to add.

[0404] See Also

[0405] AnswersResponse Class|ActionEngine.Api Namespace

[0406] API Class Library

[0407] AnswersResponse.AppendResult Method

[0408] This appends a result to the collection.

[0409] public void AppendResult(

[0410] Result result

[0411] );

[0412] Parameters

[0413] result

[0414] The result to append.

[0415] See Also

[0416] AnswersResponse Class|ActionEngine.Api Namespace

[0417] API Class Library

[0418] BinaryResource Class

[0419] This class represents a binary resource.

[0420] For a list of all members of this type, see BinaryResource Members.

[0421] System.Object

[0422] Resource

[0423] BinaryResource

[0424] public class BinaryResource: Resource

[0425] Requirements

[0426] Namespace: ActionEngine.Api

[0427] Assembly: aefwapi (in aefwapi.dll)

[0428] See Also

[0429] BinaryResource Members|ActionEngine.Api Namespace

[0430] API Class Library

[0431] BinaryResource Members

[0432] BinaryResource overview Public Instance Constructors BinaryResource This constructs a binary resource. Constructor Public Instance Methods Equals (inherited Determines whether the specified Object is equal to from Object) the current Object. GetHashCode Serves as a hash function for a particular type, (inherited from suitable for use in hashing algorithms and data Object) structures like a hash table. GetType Gets the Type of the current instance. (inherited from Object) ToString This returns an XML representation of the resource. (inherited from Resource) Protected Instance Methods Finalize (inherited Allows an Object to attempt to free resources and from Object) perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone Creates a shallow copy of the current Object. (inherited from Object)

[0433] See Also

[0434] BinaryResource Class|ActionEngine.Api Namespace

[0435] API Class Library

[0436] BinaryResource Constructor

[0437] This constructs a binary resource.

[0438] public BinaryResource(

[0439] ResourceReference resourceReference,

[0440] byte

bytes

[0441] );

[0442] Parameters

[0443] resourceReference

[0444] The original reference to the binary data.

[0445] bytes

[0446] The binary data.

[0447] See Also

[0448] BinaryResource Class|ActionEngine.Api Namespace

[0449] API Class Library

[0450] BooleanResponse Class

[0451] This class represents a Boolean (true or false) response.

[0452] For a list of all members of this type, see BooleanResponse Members.

[0453] System.Object

[0454] Response

[0455] Boolean Response

[0456] public class BooleanResponse: Response

[0457] Requirements

[0458] Namespace: ActionEngine.Api

[0459] Assembly: aefwapi (in aefwapi.dll)

[0460] See Also

[0461] BooleanResponse Members|ActionEngine.Api Namespace

[0462] API Class Library

[0463] BooleanResponse Members

[0464] BooleanResponse overview Public Instance Constructors BooleanResponse This constructs a Boolean response. Constructor Public Instance Methods Equals (inherited Determines whether the specified Object is equal to from Object) the current Object. GetHashCode Serves as a hash function for a particular type, (inherited from suitable for use in hashing algorithms and data Object) structures like a hash table. GetType (inherited Gets the Type of the current instance. from Object) ToString (inherited This returns an XML representation of the from Response) response. Protected Instance Methods Finalize (inherited Allows an Object to attempt to free resources and from Object) perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone Creates a shallow copy of the current Object. (inherited from Object)

[0465] See Also

[0466] BooleanResponse Class|ActionEngine.Api Namespace

[0467] API Class Library

[0468] BooleanResponse Constructor

[0469] This constructs a Boolean response.

[0470] public BooleanResponse(

[0471] bool boolean

[0472] );

[0473] Parameters

[0474] boolean

[0475] The Boolean value.

[0476] See Also

[0477] BooleanResponse Class|ActionEngine.Api Namespace

[0478] API Class Library

[0479] ClientInfo Class

[0480] This class represents information about the client making the request.

[0481] For a list of all members of this type, see ClientInfo Members.

[0482] System.Object

[0483] ClientInfo

[0484] public class ClientInfo

[0485] Requirements

[0486] Namespace: ActionEngine.Api

[0487] Assembly: aefwapi (in aefwapi.dll)

[0488] See Also

[0489] ClientInfo Members|ActionEngine.Api Namespace

[0490] API Class Library

[0491] ClientInfo Members

[0492] ClientInfo overview Public Instance Properties CultureInfo The culture info associated with the client request. Pack The pack ID associated with the client request. Public Instance Methods Equals (inherited Determines whether the specified Object is equal to from Object) the current Object. GetHashCode Serves as a hash function for a particular type, (inherited from suitable for use in hashing algorithms and data Object) structures like a hash table. GetType (inherited Gets the Type of the current instance. from Object) ToString (inherited Returns a String that represents the current Object. from Object) Protected Instance Methods Finalize (inherited Allows an Object to attempt to free resources and from Object) perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone Creates a shallow copy of the current Object. (inherited from Object)

[0493] See Also

[0494] ClientInfo Class|ActionEngine.Api Namespace

[0495] API Class Library

[0496] ClientInfo Properties

[0497] The properties of the ClientInfo class are listed below. For a complete list of ClientInfo class members, see the ClientInfo Members topic.

[0498] Public Instance Properties CultureInfo The culture info associated with the client request. Pack The pack ID associated with the client request.

[0499] See Also

[0500] ClientInfo Class|ActionEngine.Api Namespace

[0501] API Class Library

[0502] ClientInfo.CultureInfo Property

[0503] The culture info associated with the client request.

[0504] public System.Globalization.CultureInfo CultureInfo {get;}

[0505] See Also

[0506] ClientInfo Class|ActionEngine.Api Namespace

[0507] API Class Library

[0508] ClientInfo.Pack Property

[0509] The pack ID associated with the client request.

[0510] public string Pack {get;}

[0511] Remarks

[0512] A pack is a group of related applications and primarily serves as a way to visually organize the client's user interface.

[0513] See Also

[0514] ClientInfo Class|ActionEngine.Api Namespace

[0515] API Class Library

[0516] CodeResponse Class

[0517] This class represents a numeric code response.

[0518] For a list of all members of this type, see CodeResponse Members.

[0519] System.Object

[0520] Response

[0521] CodeResponse

[0522] public class CodeResponse: Response

[0523] Requirements

[0524] Namespace: ActionEngine.Api

[0525] Assembly: aefwapi (in aefwapi.dll)

[0526] See Also

[0527] CodeResponse Members|ActionEngine.Api Namespace

[0528] API Class Library

[0529] CodeResponse Members

[0530] CodeResponse overview Public Instance Constructors CodeResponse Overloaded. Initializes a new instance of the CodeResponse class. Public Instance Methods AddData This adds data, such as a message argument, to the response. Equals (inherited Determines whether the specified Object is equal to from Object) the current Object. GetHashCode Serves as a hash function for a particular type, (inherited from suitable for use in hashing algorithms and data Object) structures like a hash table. GetType Gets the Type of the current instance. (inherited from Object) ToString (inherited This returns an XML representation of the from Response) response. Protected Instance Methods Finalize (inherited Allows an Object to attempt to free resources and from Object) perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone Creates a shallow copy of the current Object. (inherited from Object)

[0531] See Also

[0532] CodeResponse Class|ActionEngine.Api Namespace

[0533] API Class Library

[0534] CodeResponse Constructor

[0535] This constructs a new code response.

[0536] Overload List

[0537] This constructs a new code response.

[0538] public CodeResponse(Code);

[0539] This constructs a new code response and allows the default message text associated with the code to be overridden.

[0540] public CodeResponse(Code,string);

[0541] See Also

[0542] CodeResponse Class|ActionEngine.Api Namespace

[0543] API Class Library

[0544] CodeResponse Constructor (Code)

[0545] This constructs a new code response.

[0546] public CodeResponse(

[0547] Code code

[0548] );

[0549] Parameters

[0550] code

[0551] The code.

[0552] See Also

[0553] CodeResponse Class|ActionEngine.Api Namespace|CodeResponse Constructor

[0554] Overload List

[0555] API Class Library

[0556] CodeResponse Constructor (Code, String)

[0557] This constructs a new code response and allows the default message text associated with the code to be overridden.

[0558] public CodeResponse(

[0559] Code code,

[0560] string text

[0561] );

[0562] Parameters

[0563] code

[0564] The code.

[0565] text

[0566] The overridden message text. If no override is desired, pass null.

[0567] See Also

[0568] CodeResponse Class|ActionEngine.Api Namespace|CodeResponse Constructor

[0569] Overload List

[0570] API Class Library

[0571] CodeResponse Methods

[0572] The methods of the CodeResponse class are listed below. For a complete list of CodeResponse class members, see the CodeResponse Members topic. Public Instance Methods AddData This adds data, such as a message argument, to the response. Equals (inherited Determines whether the specified Object is equal to from Object) the current Object. GetHashCode Serves as a hash function for a particular type, (inherited from suitable for use in hashing algorithms and data Object) structures like a hash table. GetType (inherited Gets the Type of the current instance. from Object) ToString (inherited This returns an XML representation of the from Response) response. Protected Instance Methods Finalize (inherited Allows an Object to attempt to free resources and from Object) perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone Creates a shallow copy of the current Object. (inherited from Object)

[0573] See Also

[0574] CodeResponse Class|ActionEngine.Api Namespace

[0575] API Class Library

[0576] CodeResponse.AddData Method

[0577] This adds data, such as a message argument, to the response.

[0578] public void AddData(

[0579] string data

[0580] );

[0581] Parameters

[0582] data

[0583] The data to add, which cannot be null.

[0584] Remarks

[0585] This adds data, such as a message argument, to the response. Some codes require one or more arguments to be provided. For example, if the message text associated with a code is “My name is {0} {1}”, calling AddData(“Joe”) followed by AddData(“Blo”) will cause the message to appear as “My name is Joe Blo” when expanded by the framework.

[0586] See Also

[0587] CodeResponse Class|ActionEngine.Api Namespace

[0588] API Class Library

[0589] CodeResponse.Code Enumeration

[0590] The enumeration of valid codes.

[0591] public enum CodeResponse.Code

[0592] Remarks

[0593] The enumeration of valid codes.

[0594] Most address-related values have “1” and “2” varieties. These are broken down so that, during sign-up validation, if the user enters two addresses, the plugin can indicate to the engine in the reply which of the two addresses had the problem. The engine then directs the user to the right address to correct.

[0595] Members Member Name Description S_OK The action taken was successful. E_FAIL An error occurred. E_LOGON_FAILED The user name or password is incorrect. E_NOT_IMPL The functionality is not implemented. E_USER_DOESNT_EXIST The user does not exist. E_ADDR1_CITY_MISSING In address 1 the city is missing. E_ADDR2_CITY_MISSING In address 2 the city is missing. E_ADDR1_CITY_TOO_LONG In address 1 the city is too long. E_ADDR2_CITY_TOO_LONG In address 2 the city is too long. E_ADDR1_COUNTRY_BAD In address 1 the country is invalid. E_ADDR2_COUNTRY_BAD In address 2 the country is invalid. E_ADDR1_COUNTRY_MISSING In address 1 the country is missing. E_ADDR2_COUNTRY_MISSING In address 2 the country is missing. E_ADDR1_COUNTRY_TOO_LONG In address 1 the country is too long. E_ADDR2_COUNTRY_TOO_LONG In address 2 the country is too long. E_ADDR1_FRIENDLY_MISSING In address 1 the friendly name is missing. E_ADDR2_FRIENDLY_MISSING In address 2 the friendly name is missing. E_ADDR1_FRIENDLY_TOO_LONG In address 1 the friendly name is too long. E_ADDR2_FRIENDLY_TOO_LONG In address 2 the friendly name is too long. E_ADDR1_PO_BOX_TOO_LONG In address 1 the post office box is too long. E_ADDR2_PO_BOX_TOO_LONG In address 2 the post office box is too long. E_ADDR1_POSTAL_BAD_LEN_USA In address 1 the postal code has an invalid length for a United States address. E_ADDR2_POSTAL_BAD_LEN_USA In address 2 the postal code has an invalid length for a United States address. E_ADDR1_POSTAL_MISSING In address 1 the postal code is missing. E_ADDR2_POSTAL_MISSING In address 2 the postal code is missing. E_ADDR1_POSTAL_TOO_LONG In address 1 the postal code is too long. E_ADDR2_POSTAL_TOO_LONG In address 2 the postal code is too long. E_ADDR1_REGION_TOO_LONG In address 1 the county/district/region is too long. E_ADDR2_REGION_TOO_LONG In address 2 the county/district/region is too long. E_ADDR1_STATE_PROV_BAD In address 1 the state/province is invalid. E_ADDR2_STATE_PROV_BAD In address 2 the state/province is invalid. E_ADDR1_STATE_PROV_MISSING In address 1 the state/province is missing. E_ADDR2_STATE_PROV_MISSING In address 2 the state/province is missing. E_ADDR1_STATE_PROV_TOO_LONG In address 1 the state/province is too long. E_ADDR2_STATE_PROV_TOO_LONG In address 2 the state/province is too long. E_ADDR1_STREET_MISSING In address 1 the street is missing. E_ADDR2_STREET_MISSING In address 2 the street is missing. E_ADDR1_STREET_TOO_LONG In address 1 the street is too long. E_ADDR2_STREET_TOO_LONG In address 2 the street is too long. E_ADDR_DOESNT_EXIST The address does not exist. E_ADDR_TAKEN The address already exists. E_ADDR_USED_BY_CARD The address is referenced by a credit card and, therefore, cannot be deleted. E_CARD_ADDRESS_MISSING The credit card's address is missing. E_CARD_DOESNT_EXIST The credit card does not exist. E_CARD_EXPIRED The credit card's expiration date has passed. E_CARD_FRIENDLY_MISSING The credit card's friendly name is missing. E_CARD_FRIENDLY_TOO_LONG The credit card's friendly name is too long. E_CARD_MONTH_BAD The credit card's expiration month is invalid. E_CARD_MONTH_MISSING The credit card's expiration month is missing. E_CARD_NUMBER_BAD The credit card number is invalid. E_CARD_NUMBER_MISSING The credit card number is missing. E_CARD_PERSONS_NAME_MISSING The person's name on the credit card is missing. E_CARD_PERSONS_NAME_TOO_LONG The person's name on the credit card is too long. E_CARD_TAKEN The credit card already exists. E_CARD_TYPE_UNKNOWN The credit card type is not recognized. E_CARD_YEAR_BAD The credit card's expiration year is invalid. E_CARD_YEAR_MISSING The credit card's expiration year is missing. E_EMAIL_ADDR_BAD The e-mail address is invalid. E_EMAIL_ADDR_MISSING The e-mail address is missing. E_EMAIL_ADDR_TOO_LONG The e-mail address is too long. E_EMAIL_DOESNT_EXIST The e-mail address by the given friendly name does not exist. E_EMAIL_FRIENDLY_MISSING The e-mail address's friendly name is missing. E_EMAIL_FRIENDLY_TOO_LONG The e-mail address's friendly name is too long. E_EMAIL_TAKEN The e-mail address by the given friendly name already exists. E_IDENTITY_FIRST_MISSING The first name is missing. E_IDENTITY_FIRST_TOO_LONG The first name is too long. E_IDENTITY_LAST_MISSING The last name is missing. E_IDENTITY_LAST_TOO_LONG The last name is too long. E_IDENTITY_MIDDLE_MISSING The middle name is missing. E_IDENTITY_MIDDLE_TOO_LONG The middle name is too long. E_IDENTITY_SUFFIX_TOO_LONG The person's suffix is too long. E_IDENTITY_TITLE_TOO_LONG The person's title is too long. E_PASSWORD_BAD_CHARS The password contains one or more invalid characters. E_PASSWORD_CANT_CHANGE The password cannot be changed. E_PASSWORD_MISSING The password is missing. E_PASSWORD_TOO_LONG The password is too long. E_PASSWORD_TOO_SHORT The password is too short. E_PASSWORD_WRONG The password is incorrect. E_PHONE_DOESNT_EXIST The phone entry does not exist. E_PHONE_FRIENDLY_MISSING The phone number's friendly name is missing. E_PHONE_FRIENDLY_TOO_LONG The phone number's friendly name is too long. E_PHONE_NUMBER_MISSING The phone entry's number is missing. E_PHONE_NUMBER_TOO_LONG The phone number is too long. E_PHONE_TAKEN The phone number by the given friendly name already exists. E_USER_NAME_BAD_CHARS The user name contains one or more invalid characters. E_USER_NAME_DOESNT_EXIST The user name doesn't exist. E_USER_NAME_FORBIDDEN The user name is forbidden. E_USER_NAME_MISSING The user name is missing. E_USER_NAME_TAKEN The user name already exists. E_USER_NAME_TOO_LONG The user name is too long. E_USER_NAME_TOO_SHORT The user name is too short.

[0596] Requirements

[0597] Namespace: ActionEngine.Api

[0598] Assembly: aefwapi (in aefwapi.dll)

[0599] See Also

[0600] ActionEngine.Api Namespace

[0601] API Class Library

[0602] Concepts Class

[0603] This class represents concepts.

[0604] For a list of all members of this type, see Concepts Members.

[0605] System.Object

[0606] Concepts

[0607] public class Concepts

[0608] Remarks

[0609] This class represents concepts. Concepts are processed by the client to collect data from the user and to post back to the server.

[0610] Requirements

[0611] Namespace: ActionEngine.Api

[0612] Assembly: aefwapi (in aefwapi.dll)

[0613] See Also

[0614] Concepts Members|ActionEngine.Api Namespace

[0615] API Class Library

[0616] Concepts Members

[0617] Concepts overview Public Static Fields ROOT_NAME The name of the root element for any concepts XML. Public Instance Constructors Concepts Overloaded. Initializes a new instance of the Concepts class. Public Instance Methods Equals (inherited Determines whether the specified Object is equal to from Object) the current Object. GetHashCode Serves as a hash function for a particular type, (inherited from suitable for use in hashing algorithms and data Object) structures like a hash table. GetType Gets the Type of the current instance. (inherited from Object) ToString This returns a string representation of the concepts XML. Protected Instance Methods Finalize (inherited Allows an Object to attempt to free resources and from Object) perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone Creates a shallow copy of the current Object. (inherited from Object)

[0618] See Also

[0619] Concepts Class|ActionEngine.Api Namespace

[0620] API Class Library

[0621] Concepts Constructor

[0622] This constructs concepts from the given XML.

[0623] Overload List

[0624] This constructs concepts from the given XML.

[0625] public Concepts(string);

[0626] This constructs concepts from the given XML element.

[0627] public Concepts(XmlElement);

[0628] See Also

[0629] Concepts Class|ActionEngine.Api Namespace

[0630] API Class Library

[0631] Concepts Constructor (String)

[0632] This constructs concepts from the given XML.

[0633] public Concepts(

[0634] string conceptsXml

[0635] );

[0636] Parameters

[0637] conceptsXml

[0638] The concepts XML.

[0639] Exceptions Exception Type Condition ApplicationException This is thrown when the root element name doesn't match ROOT_NAME.

[0640] See Also

[0641] Concepts Class|ActionEngine.Api Namespace|Concepts Constructor Overload List

[0642] API Class Library

[0643] Concepts Constructor (XmlElement)

[0644] This constructs concepts from the given XML element.

[0645] public Concepts(

[0646] XmlElement conceptsRoot

[0647] );

[0648] Parameters

[0649] conceptsRoot

[0650] The root concepts element.

[0651] Remarks

[0652] This constructs concepts from the given XML element. The element must be named ROOT_NAME.

[0653] Exceptions Exception Type Condition ApplicationException This is thrown when the root element name doesn't match ROOT_NAME.

[0654] See Also

[0655] Concepts Class|ActionEngine.Api Namespace|Concepts Constructor Overload List

[0656] API Class Library

[0657] Concepts Fields

[0658] The fields of the Concepts class are listed below. For a complete list of Concepts class members, see the Concepts Members topic.

[0659] Public Static Fields ROOT_NAME The name of the root element for any concepts XML.

[0660] See Also

[0661] Concepts Class|ActionEngine.Api Namespace

[0662] API Class Library

[0663] Concepts.ROOT_NAME Field

[0664] The name of the root element for any concepts XML.

[0665] public const string ROOT_NAME;

[0666] See Also

[0667] Concepts Class|ActionEngine.Api Namespace

[0668] API Class Library

[0669] Concepts Methods

[0670] The methods of the Concepts class are listed below. For a complete list of Concepts class members, see the Concepts Members topic. Public Instance Methods Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetHashCode (inherited from Object) Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Object) Gets the Type of the current instance. ToString This returns a string representation of the concepts XML. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone (inherited from Object) Creates a shallow copy of the current Object.

[0671] See Also

[0672] Concepts Class|ActionEngine.Api Namespace

[0673] API Class Library

[0674] Concepts.ToString Method

[0675] This returns a string representation of the concepts XML.

[0676] public override string ToString( );

[0677] Return Value

[0678] A string representation of the concepts XML.

[0679] See Also

[0680] Concepts Class|ActionEngine.Api Namespace

[0681] API Class Library

[0682] ConceptsResponse Class

[0683] This class represents a concepts response.

[0684] For a list of all members of this type, see ConceptsResponse Members.

[0685] System.Object

[0686] Response

[0687] ConceptsResponse

[0688] public class ConceptsResponse: Response

[0689] Remarks

[0690] This class represents a concepts response. Concepts are processed by the client to collect data from the user and to post back to the server.

[0691] Requirements

[0692] Namespace: ActionEngine.Api

[0693] Assembly: aefwapi (in aefwapi.dll)

[0694] See Also

[0695] ConceptsResponse Members|ActionEngine.Api Namespace|Concepts

[0696] API Class Library

[0697] ConceptsResponse Members

[0698] ConceptsResponse overview Public Instance Constructors ConceptsResponse Overloaded. Initializes a new instance of the ConceptsResponse class. Public Instance Methods AddMessage This adds a message to the response. Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetHashCode (inherited from Object) Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Object) Gets the Type of the current instance. ToString (inherited from Response) This returns an XML representation of the response. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone (inherited from Object) Creates a shallow copy of the current Object.

[0699] See Also

[0700] ConceptsResponse Class|ActionEngine.Api Namespace|Concepts

[0701] API Class Library

[0702] ConceptsResponse Constructor

[0703] This constructs a concepts reseponse using the given concepts.

[0704] Overload List

[0705] This constructs a concepts reseponse using the given concepts.

[0706] public ConceptsResponse(Concepts);

[0707] This constructs a concepts reseponse using the given concepts and result.

[0708] public ConceptsResponse(Concepts,Result);

[0709] See Also

[0710] ConceptsResponse Class|ActionEngine.Api Namespace

[0711] API Class Library

[0712] ConceptsResponse Constructor (Concepts)

[0713] This constructs a concepts reseponse using the given concepts.

[0714] public ConceptsResponse(

[0715] Concepts concepts

[0716] );

[0717] Parameters

[0718] concepts

[0719] The concepts, which cannot be null.

[0720] See Also

[0721] ConceptsResponse Class|ActionEngine.Api Namespace|ConceptsResponse Constructor

[0722] Overload List

[0723] API Class Library

[0724] ConceptsResponse Constructor (Concepts, Result)

[0725] This constructs a concepts reseponse using the given concepts and result.

[0726] public ConceptsResponse(

[0727] Concepts concepts,

[0728] Result result

[0729] );

[0730] Parameters

[0731] concepts

[0732] The concepts, which cannot be null.

[0733] result

[0734] The result to associated with the response. If null, an empty result is created.

[0735] Remarks

[0736] This constructs a concepts reseponse using the given concepts and result. The result is passed back to the plugin when the client posts the concepts. It can be used to manage state.

[0737] See Also

[0738] ConceptsResponse Class|ActionEngine.Api Namespace|ConceptsResponse Constructor

[0739] Overload List

[0740] API Class Library

[0741] ConceptsResponse Methods

[0742] The methods of the ConceptsResponse class are listed below. For a complete list of ConceptsResponse class members, see the ConceptsResponse Members topic. Public Instance Methods AddMessage This adds a message to the response. Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetHashCode (inherited from Object) Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Object) Gets the Type of the current instance. ToString (inherited from Response) This returns an XML representation of the response. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone (inherited from Object) Creates a shallow copy of the current Object.

[0743] See Also

[0744] ConceptsResponse Class|ActionEngine.Api Namespace|Concepts

[0745] API Class Library

[0746] ConceptsResponse.AddMessage Method

[0747] This adds a message to the response.

[0748] public void AddMessage(

[0749] Message message

[0750] );

[0751] Parameters

[0752] message

[0753] The message to add.

[0754] Remarks

[0755] This adds a message to the response. Messages are generally displayed on the client as a pop-up dialog.

[0756] See Also

[0757] ConceptsResponse Class|ActionEngine.Api Namespace

[0758] API Class Library

[0759] ConceptValues Class

[0760] This class represents the values posted by the client as a result of submitting concepts to the server.

[0761] For a list of all members of this type, see ConceptValues Members.

[0762] System.Object

[0763] ConceptValues

[0764] public class ConceptValues

[0765] Requirements

[0766] Namespace: ActionEngine.Api

[0767] Assembly: aefwapi (in aefwapi.dll)

[0768] See Also

[0769] ConceptValues Members|ActionEngine.Api Namespace

[0770] API Class Library

[0771] ConceptValues Members

[0772] ConceptValues overview Public Instance Properties RootElement The root element of the concept values. Version The version of the concepts. Public Instance Methods Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetHashCode (inherited from Object) Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Object) Gets the Type of the current instance. ToString (inherited from Object) Returns a String that represents the current Object. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone (inherited from Object) Creates a shallow copy of the current Object.

[0773] See Also

[0774] ConceptValues Class|ActionEngine.Api Namespace

[0775] API Class Library

[0776] ConceptValues Properties

[0777] The properties of the ConceptValues class are listed below. For a complete list of ConceptValues class members, see the ConceptValues Members topic.

[0778] Public Instance Properties RootElement The root element of the concept values. Version The version of the concepts.

[0779] See Also

[0780] ConceptValues Class|ActionEngine.Api Namespace

[0781] API Class Library

[0782] ConceptValues.RootElement Property

[0783] The root element of the concept values.

[0784] public System.Xml.XmlElement RootElement {get;}

[0785] See Also

[0786] ConceptValues Class|ActionEngine.Api Namespace

[0787] API Class Library

[0788] ConceptValues.Version Property

[0789] The version of the concepts.

[0790] public string Version {get;}

[0791] See Also

[0792] ConceptValues Class|ActionEngine.Api Namespace

[0793] API Class Library

[0794] ConfigFile Class

[0795] This class represents an XML configuration file for a plugin.

[0796] For a list of all members of this type, see ConfigFile Members.

[0797] System.Object

[0798] ConfigFile

[0799] public class ConfigFile

[0800] Remarks

[0801] This class represents an XML configuration file for a plugin. It offers a convenient way of storing plugin-specific configuration values, provides a mechanism for managing machine-specific values, and ties into the framework's cache flushing system.

[0802] The name of the configuration file is config.xml and is stored in a plugin's cfg directory.

[0803] There are no restrictions on the contents of the file, other than it be well-formed XML, and one small exception regarding the m attribute (see below).

[0804] The framework caches configuration files in memory until a flush command is issued. This is to optimize runtime performance.

[0805] Often when developing a plugin it is convenient to provide different configuration values depending on the machine (host) where the plugin is hosted. You can do this by attaching an m=“ . . . some machine . . . ” attribute to any element. The machine name must be typed in lower-case. For example, a config.xml file may look like this:

[0806] <stuff> <url>http://stuff/</url> <url m=“server2”>http://stuff/svr2/</url> <url m=“server5”>http://stuff/svr5/</url></stuff>

[0807] In this example, if your plugin called GetString(“url”) while running on server2, the value returned would be http://stuff/svr2/. If running on server99, the value returned would be http://stuff/ because no machine-specific override of the default is present.

[0808] Requirements

[0809] Namespace: ActionEngine.Api

[0810] Assembly: aefwapi (in aefwapi.dll)

[0811] See Also

[0812] ConfigFile Members|ActionEngine.Api Namespace|PluginEnvironment

[0813] API Class Library

[0814] ConfigFile Members

[0815] ConfigFile overview Public Instance Properties Exists This returns whether or not a config.xml file exists for this plugin. RootElement This returns the root element of the configuration file. Public Instance Methods Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetHashCode (inherited from Object) Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table. GetString Overloaded. This returns a string from the configuration file. GetType (inherited from Object) Gets the Type of the current instance. SelectSingleNode This returns an XmlNode from the configuration file. ToString (inherited from Object) Returns a String that represents the current Object. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone (inherited from Object) Creates a shallow copy of the current Object.

[0816] See Also

[0817] ConfigFile Class|ActionEngine.Api Namespace|PluginEnvironment

[0818] API Class Library

[0819] ConfigFile Properties

[0820] The properties of the ConfigFile class are listed below. For a complete list of ConfigFile class members, see the ConfigFile Members topic. +

[0821] Public Instance Properties Exists This returns whether or not a config.xml file exists for this plugin. RootElement This returns the root element of the configuration file.

[0822] See Also

[0823] ConfigFile Class|ActionEngine.Api Namespace|PluginEnvironment

[0824] API Class Library

[0825] ConfigFile.Exists Property

[0826] This returns whether or not a config.xml file exists for this plugin.

[0827] public bool Exists {get;}

[0828] See Also

[0829] ConfigFile Class|ActionEngine.Api Namespace

[0830] API Class Library

[0831] ConfigFile.RootElement Property

[0832] This returns the root element of the configuration file.

[0833] public System.Xml.XmlElement RootElement {get;}

[0834] Remarks

[0835] This returns the root element of the configuration file. Generally direct access to this element is not needed since GetString is more useful in that it takes into account machine-specific logic.

[0836] See Also

[0837] ConfigFile Class|ActionEngine.Api Namespace

[0838] API Class Library

[0839] ConfigFile Methods

[0840] The methods of the ConfigFile class are listed below. For a complete list of ConfigFile class members, see the ConfigFile Members topic. Public Instance Methods Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetHashCode (inherited from Object) Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table. GetString Overloaded. This returns a string from the configuration file. GetType (inherited from Object) Gets the Type of the current instance. SelectSingleNode This returns an XmlNode from the configuration file. ToString (inherited from Object) Returns a String that represents the current Object. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone (inherited from Object) Creates a shallow copy of the current Object.

[0841] See Also

[0842] ConfigFile Class|ActionEngine.Api Namespace|PluginEnvironment

[0843] API Class Library

[0844] ConfigFile.GetString Method

[0845] This returns a string from the configuration file.

[0846] Overload List

[0847] This returns a string from the configuration file.

[0848] public string GetString(string);

[0849] This returns a string from the configuration file.

[0850] public string GetString(string,string);

[0851] See Also

[0852] ConfigFile Class|ActionEngine.Api Namespace

[0853] API Class Library

[0854] ConfigFile.GetString Method (String)

[0855] This returns a string from the configuration file.

[0856] public string GetString(

[0857] string xpath

[0858] );

[0859] Parameters

[0860] xpath

[0861] The XPath relative to the root element.

[0862] Return Value

[0863] The string value, or null if not found, or null if the configuration file does not exist.

[0864] Remarks

[0865] This returns a string from the configuration file. This is equivalent to calling GetString(xpath, null).

[0866] Machine-specific logic is taken into account when evaluating the XPath. See the class overview for more information.

[0867] Exceptions Exception Type Condition XmlException This is thrown when a load or parse error occurs. XPathException This is thrown when an error occurs processing the XPath.

[0868] See Also

[0869] ConfigFile Class|ActionEngine.Api Namespace|ConfigFile.GetString Overload List

[0870] API Class Library

[0871] ConfigFile.GetString Method (String, String)

[0872] This returns a string from the configuration file.

[0873] public string GetString(

[0874] string xpath,

[0875] string defaultValue

[0876] );

[0877] Parameters

[0878] xpath

[0879] The XPath relative to the root element.

[0880] defaultValue

[0881] The default value to return if the XPath is not found or if the configuration file does not exist.

[0882] Can be null.

[0883] Return Value

[0884] The string vaule, or defaultValue if not found, or defaultValue if the configuration file does not exist.

[0885] Remarks

[0886] This returns a string from the configuration file.

[0887] Machine-specific logic is taken into account when evaluating the XPath. See the class overview for more information.

[0888] Exceptions Exception Type Condition XmlException This is thrown when a load or parse error occurs. XPathException This is thrown when an error occurs processing the XPath.

[0889] See Also

[0890] ConfigFile Class|ActionEngine.Api Namespace|ConfigFile.GetString Overload List

[0891] API Class Library

[0892] ConfigFile.SelectSingleNode Method

[0893] This returns an XmlNode from the configuration file.

[0894] public XmlNode SelectSingleNode(

[0895] string xpath

[0896] );

[0897] Parameters

[0898] xpath

[0899] The XPath relative to the root element.

[0900] Return Value

[0901] The XmlNode, or null if the file does not exist or the XPath does not exist.

[0902] Remarks

[0903] This returns an XmlNode from the configuration file. If the file does not exist, or if the XPath does not exist, null is returned.

[0904] Machine-specific logic is taken into account when evaluating the XPath. See the class overview for more information.

[0905] Exceptions Exception Type Condition XmlException This is thrown when a load or parse error occurs. XPathException This is thrown when an error occurs processing the XPath.

[0906] See Also

[0907] ConfigFile Class|ActionEngine.Api Namespace

[0908] API Class Library

[0909] CreditCard Class

[0910] This class represents a credit card.

[0911] For a list of all members of this type, see CreditCard Members.

[0912] System.Object

[0913] FriendlyData

[0914] CreditCard

[0915] public class CreditCard: FriendlyData

[0916] Requirements

[0917] Namespace: ActionEngine.Api

[0918] Assembly: aefwapi (in aefwapi.dll)

[0919] See Also

[0920] CreditCard Members|ActionEngine.Api Namespace|CreditCards

[0921] API Class Library

[0922] CreditCard Members

[0923] CreditCard overview Public Instance Constructors CreditCard Constructor This constructs a credit card. Public Instance Properties Address The billing address. CardType The credit card's type, which is derived from the number. ExpMonth The expiration month (1-12). ExpYear The four-digit expiration year. FriendlyName (inherited from FriendlyData) The friendly name of the user data. Number The credit card number. PersonsName The name of the card holder. Public Instance Methods Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetHashCode (inherited from Object) Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Object) Gets the Type of the current instance. ToString This returns an XML representation of the credit card. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone (inherited from Object) Creates a shallow copy of the current Object.

[0924] See Also

[0925] CreditCard Class|ActionEngine.Api Namespace|CreditCards

[0926] API Class Library

[0927] CreditCard Constructor

[0928] This constructs a credit card.

[0929] public CreditCard(

[0930] string friendlyName,

[0931] string number,

[0932] string personsName,

[0933] Address address,

[0934] int expMonth,

[0935] int expYear

[0936] );

[0937] Parameters

[0938] friendlyName

[0939] The friendly name of the credit card.

[0940] number

[0941] The credit card number. The credit card's type is derived automatically from the number.

[0942] personsName

[0943] The name of the card holder.

[0944] address

[0945] The billing address.

[0946] expMonth

[0947] The expiration month.

[0948] expYear

[0949] The four-digit expiration year.

[0950] See Also

[0951] CreditCard Class|ActionEngine.Api Namespace

[0952] API Class Library

[0953] CreditCard Properties

[0954] The properties of the CreditCard class are listed below. For a complete list of CreditCard class members, see the CreditCard Members topic.

[0955] Public Instance Properties Address The billing address. CardType The credit card's type, which is derived from the number. ExpMonth The expiration month (1-12). ExpYear The four-digit expiration year. FriendlyName (inherited from The friendly name of the user data. FriendlyData) Number The credit card number. PersonsName The name of the card holder.

[0956] See Also

[0957] CreditCard Class|ActionEngine.Api Namespace|CreditCards

[0958] API Class Library

[0959] CreditCard.Address Property

[0960] The billing address.

[0961] public Address Address {get; set;}

[0962] Remarks

[0963] The billing address. This cannot be set to null.

[0964] See Also

[0965] CreditCard Class|ActionEngine.Api Namespace

[0966] API Class Library

[0967] CreditCard.CardType Property

[0968] The credit card's type, which is derived from the number.

[0969] public CreditCard.Type CardType {get;}

[0970] Remarks

[0971] The credit card's type, which is derived from the number. If the type is unknown, Unknown is returned.

[0972] See Also

[0973] CreditCard Class|ActionEngine.Api Namespace

[0974] API Class Library

[0975] CreditCard.ExpMonth Property

[0976] The expiration month (1-12).

[0977] public int ExpMonth {get; set;}

[0978] Exceptions Exception Type Condition ArgumentOutOfRangeException This is thrown when setting the month to an invalid value.

[0979] See Also

[0980] CreditCard Class|ActionEngine.Api Namespace

[0981] API Class Library

[0982] CreditCard.ExpYear Property

[0983] The four-digit expiration year.

[0984] public int ExpYear {get; set;}

[0985] Exceptions Exception Type Condition ArgumentOutOfRangeException This is thrown when setting the year to an invalid value.

[0986] See Also

[0987] CreditCard Class|ActionEngine.Api Namespace

[0988] API Class Library

[0989] CreditCard.Number Property

[0990] The credit card number.

[0991] public string Number {get; set;}

[0992] Remarks

[0993] The credit card number. This cannot be set to null.

[0994] See Also

[0995] CreditCard Class|ActionEngine.Api Namespace

[0996] API Class Library

[0997] CreditCard.PersonsName Property

[0998] The name of the card holder.

[0999] public string PersonsName {get; set;}

[1000] Remarks

[1001] The name of the card holder. This cannot be set to null.

[1002] See Also

[1003] CreditCard Class|ActionEngine.Api Namespace

[1004] API Class Library

[1005] CreditCard Methods

[1006] The methods of the CreditCard class are listed below. For a complete list of CreditCard class members, see the CreditCard Members topic. Public Instance Methods Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetHashCode (inherited from Object) Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Object) Gets the Type of the current instance. ToString This returns an XML representation of the credit card. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone (inherited from Object) Creates a shallow copy of the current Object.

[1007] See Also

[1008] CreditCard Class|ActionEngine.Api Namespace|CreditCards

[1009] API Class Library

[1010] CreditCard.ToString Method

[1011] This returns an XML representation of the credit card.

[1012] public override string ToString( );

[1013] Return Value

[1014] An XML representation of the credit card.

[1015] See Also

[1016] CreditCard Class|ActionEngine.Api Namespace

[1017] API Class Library

[1018] CreditCard.Type Enumeration

[1019] The enumeration of valid credit card types.

[1020] public enum CreditCard.Type

[1021] Members Member Name Description AmericanExpress American Express DinersClub Diner's Club Discover Discover Jcb JCB MasterCard MasterCard Unknown Unknown Visa Visa

[1022] Requirements

[1023] Namespace: ActionEngine.Api

[1024] Assembly: aefwapi (in aefwapi.dll)

[1025] See Also

[1026] ActionEngine.Api Namespace

[1027] API Class Library

[1028] CreditCards Class

[1029] This class represents a collection of CreditCard objects.

[1030] For a list of all members of this type, see CreditCards Members.

[1031] System.Object

[1032] FriendlyDataSet

[1033] CreditCards

[1034] public class CreditCards: FriendlyDataSet

[1035] Requirements

[1036] Namespace: ActionEngine.Api

[1037] Assembly: aefwapi (in aefwapi.dll)

[1038] See Also

[1039] CreditCards Members|ActionEngine.Api Namespace|CreditCard

[1040] API Class Library

[1041] CreditCards Members

[1042] CreditCards overview Public Instance Constructors CreditCards Constructor This constructs an empty collection of credit cards. Public Instance Properties GetPrimary This retrieves the primary credit card of the collection. Item This retrieves a credit card by the given friendly name. Public Instance Methods Add This adds a credit card to the collection. Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetEnumerator (inherited from FriendlyDataSet) This returns an IEnumerator for enumerating the collection of friendly data. GetHashCode (inherited from Object) Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Object) Gets the Type of the current instance. Remove This removes the credit card with the given friendly name. SetPrimary (inherited from FriendlyDataSet) This sets the primary friendly data for the collection. ToString (inherited from FriendlyDataSet) This returns an XML representation of the friendly data set. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone (inherited from Object) Creates a shallow copy of the current Object.

[1043] See Also

[1044] CreditCards Class|ActionEngine.Api Namespace|CreditCard

[1045] API Class Library

[1046] CreditCards Constructor

[1047] This constructs an empty collection of credit cards.

[1048] public CreditCards( );

[1049] See Also

[1050] CreditCards Class|ActionEngine.Api Namespace

[1051] API Class Library

[1052] CreditCards Properties

[1053] The properties of the CreditCards class are listed below. For a complete list of CreditCards class members, see the CreditCards Members topic.

[1054] Public Instance Properties GetPrimary This retrieves the primary credit card of the collection. Item This retrieves a credit card by the given friendly name.

[1055] See Also

[1056] CreditCards Class|ActionEngine.Api Namespace|CreditCard

[1057] API Class Library

[1058] CreditCards.GetPrimary Property

[1059] This retrieves the primary credit card of the collection.

[1060] public CreditCard GetPrimary {get;}

[1061] Remarks

[1062] This retrieves the primary credit card of the collection. If the collection is empty, null is returned.

[1063] See Also

[1064] CreditCards Class|ActionEngine.Api Namespace

[1065] API Class Library

[1066] CreditCards.Item Property

[1067] This retrieves a credit card by the given friendly name.

[1068] public CreditCard this[

[1069] string friendlyName

[1070] ] {get;}

[1071] Remarks

[1072] This retrieves a credit card by the given friendly name. If none is found, null is returned.

[1073] See Also

[1074] CreditCards Class|ActionEngine.Api Namespace

[1075] API Class Library

[1076] CreditCards Methods

[1077] The methods of the CreditCards class are listed below. For a complete list of CreditCards class members, see the CreditCards Members topic. Public Instance Methods Add This adds a credit card to the collection. Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetEnumerator (inherited from FriendlyDataSet) This returns an IEnumerator for enumerating the collection of friendly data. GetHashCode (inherited from Object) Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Object) Gets the Type of the current instance. Remove This removes the credit card with the given friendly name. SetPrimary (inherited from FriendlyDataSet) This sets the primary friendly data for the collection. ToString (inherited from FriendlyDataSet) This returns an XML representation of the friendly data set. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone (inherited from Object) Creates a shallow copy of the current Object.

[1078] See Also

[1079] CreditCards Class|ActionEngine.Api Namespace|CreditCard

[1080] API Class Library

[1081] CreditCards.Add Method

[1082] This adds a credit card to the collection.

[1083] public void Add(

[1084] CreditCard creditCard

[1085] );

[1086] Parameters

[1087] creditCard

[1088] The credit card to add to the collection.

[1089] See Also

[1090] CreditCards Class|ActionEngine.Api Namespace

[1091] API Class Library

[1092] CreditCards.Remove Method

[1093] This removes the credit card with the given friendly name.

[1094] public CreditCard Remove(

[1095] string friendlyName

[1096] );

[1097] Parameters

[1098] friendlyName

[1099] The friendly name of the credit card to remove.

[1100] Return Value

[1101] The credit card removed is returned, or null if not found.

[1102] Remarks

[1103] This removes the credit card with the given friendly name. If the credit card is not found, no action is taken. If the credit card removed was primary, a new one is selected.

[1104] See Also

[1105] CreditCards Class|ActionEngine.Api Namespace

[1106] API Class Library

[1107] DeckResponse Class

[1108] This class represents an HTML deck response, which is displayed as rich markup on the client.

[1109] For a list of all members of this type, see DeckResponse Members.

[1110] System.Object

[1111] Response

[1112] DeckResponse

[1113] public class DeckResponse: Response

[1114] Remarks

[1115] This class represents an HTML deck response, which is displayed as rich markup on the client. It is simply a container for a result and some auxilary data. The result is input to an XSLT transformation on the engine that produces the rich markup. The name of the XSLT file is the feature ID plus .info.xsl For example, if the feature ID is myfeature, the name of the XSLT file needs to be myfeature.info.xsl.

[1116] Requirements

[1117] Namespace: ActionEngine.Api

[1118] Assembly: aefwapi (in aefwapi.dll)

[1119] See Also

[1120] DeckResponse Members|ActionEngine.Api Namespace|Result

[1121] API Class Library

[1122] DeckResponse Members

[1123] DeckResponse overview Public Instance Constructors DeckResponse Constructor This constructs an HTML deck response. Public Instance Methods AddMessage This adds a message to the response. Messages are generally displayed on the client as a pop-up dialog. Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetHashCode (inherited from Object) Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Object) Gets the Type of the current instance. ToString (inherited from Response) This returns an XML representation of the response. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone (inherited from Object) Creates a shallow copy of the current Object.

[1124] See Also

[1125] DeckResponse Class|ActionEngine.Api Namespace|Result

[1126] API Class Library

[1127] DeckResponse Constructor

[1128] This constructs an HTML deck response.

[1129] public DeckResponse(

[1130] Result result

[1131] );

[1132] Parameters

[1133] result

[1134] The result, which cannot be null.

[1135] See Also

[1136] DeckResponse Class|ActionEngine.Api Namespace

[1137] API Class Library

[1138] DeckResponse Methods

[1139] The methods of the DeckResponse class are listed below. For a complete list of DeckResponse class members, see the DeckResponse Members topic. Public Instance Methods AddMessage This adds a message to the response. Messages are generally displayed on the client as a pop-up dialog. Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetHashCode (inherited from Object) Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Object) Gets the Type of the current instance. ToString (inherited from Response) This returns an XML representation of the response. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone (inherited from Object) Creates a shallow copy of the current Object.

[1140] See Also

[1141] DeckResponse Class|ActionEngine.Api Namespace|Result

[1142] API Class Library

[1143] DeckResponse.AddMessage Method

[1144] This adds a message to the response. Messages are generally displayed on the client as a pop-up dialog.

[1145] public void AddMessage(

[1146] Message message

[1147] );

[1148] Parameters

[1149] message

[1150] The message to add.

[1151] See Also

[1152] DeckResponse Class|ActionEngine.Api Namespace

[1153] API Class Library

[1154] Device Class

[1155] This class represents a client device.

[1156] For a list of all members of this type, see Device Members.

[1157] System.Object

[1158] Device

[1159] public class Device

[1160] Requirements

[1161] Namespace: ActionEngine.Api

[1162] Assembly: aefwapi (in aefwapi.dll)

[1163] See Also

[1164] Device Members|ActionEngine.Api Namespace|Devices

[1165] API Class Library

[1166] Device Members

[1167] Device overview Public Instance Properties IsPushable This returns whether or not the device can accept “pushed” content from the server. PhoneNumber This returns the phone number associated with the device, if one exists. UtcOffset This returns the difference between Coordinated Universal Time (UTC) and the device's local date/time. Public Instance Methods Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetHashCode (inherited from Object) Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Object) Gets the Type of the current instance. ToString (inherited from Object) Returns a String that represents the current Object. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone (inherited from Object) Creates a shallow copy of the current Object.

[1168] See Also

[1169] Device Class|ActionEngine.Api Namespace|Devices

[1170] API Class Library

[1171] Device Properties

[1172] The properties of the Device class are listed below. For a complete list of Device class members, see the Device Members topic.

[1173] Public Instance Properties IsPushable This returns whether or not the device can accept “pushed” content from the server. PhoneNumber This returns the phone number associated with the device, if one exists. UtcOffset This returns the difference between Coordinated Universal Time (UTC) and the device's local date/time.

[1174] See Also

[1175] Device Class|ActionEngine.Api Namespace|Devices

[1176] API Class Library

[1177] Device.IsPushable Property

[1178] This returns whether or not the device can accept “pushed” content from the server.

[1179] public boot IsPushable {get;}

[1180] Remarks

[1181] Before calling AddFeatureSchedule, check this value.

[1182] See Also

[1183] Device Class|ActionEngine.Api Namespace

[1184] API Class Library

[1185] Device.PhoneNumber Property

[1186] This returns the phone number associated with the device, if one exists.

[1187] public string PhoneNumber {get;}

[1188] Remarks

[1189] This returns the phone number associated with the device, if one exists. Not all devices have phone numbers, and those that do may not be registered with the framework, in which case null is returned.

[1190] See Also

[1191] Device Class|ActionEngine.Api Namespace

[1192] API Class Library

[1193] Device.UtcOffset Property

[1194] This returns the difference between Coordinated Universal Time (UTC) and the device's local date/time.

[1195] public System.TimeSpan UtcOffset {get;}

[1196] Remarks

[1197] This returns the difference between Coordinated Universal Time (UTC) and the device's local date/time. For devices in North America, this is a negative value.

[1198] See Also

[1199] Device Class|ActionEngine.Api Namespace

[1200] API Class Library

[1201] Devices Class

[1202] This class represents a set of client devices.

[1203] For a list of all members of this type, see Devices Members.

[1204] System.Object

[1205] Devices

[1206] public class Devices

[1207] Requirements

[1208] Namespace: ActionEngine.Api

[1209] Assembly: aefwapi (in aefwapi.dll)

[1210] See Also

[1211] Devices Members|ActionEngine.Api Namespace Device

[1212] API Class Library

[1213] Devices Members

[1214] Devices overview Public Instance Properties Current This returns the device involved in the current request. Public Instance Methods Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetEnumerator This returns an IEnumerator for enumerating the collection of devices, where each item is a Device object. GetHashCode (inherited from Object) Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Object) Gets the Type of the current instance. ToString (inherited from Object) Returns a String that represents the current Object. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone (inherited from Object) Creates a shallow copy of the current Object.

[1215] See Also

[1216] Devices Class|ActionEngine.Api Namespace|Device

[1217] API Class Library

[1218] Devices Properties

[1219] The properties of the Devices class are listed below. For a complete list of Devices class members, see the Devices Members topic.

[1220] Public Instance Properties Current This returns the device involved in the current request.

[1221] See Also

[1222] Devices Class|ActionEngine.Api Namespace|Device

[1223] API Class Library

[1224] Devices.Current Property

[1225] This returns the device involved in the current request.

[1226] public Device Current {get;}

[1227] See Also

[1228] Devices Class|ActionEngine.Api Namespace

[1229] API Class Library

[1230] Devices Methods

[1231] The methods of the Devices class are listed below. For a complete list of Devices class members, see the Devices Members topic. Public Instance Methods Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetEnumerator This returns an IEnumerator for enumerating the collection of devices, where each item is a Device object. GetHashCode (inherited from Object) Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Object) Gets the Type of the current instance. ToString (inherited from Object) Returns a String that represents the current Object. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone (inherited from Object) Creates a shallow copy of the current Object.

[1232] See Also

[1233] Devices Class|ActionEngine.Api Namespace|Device

[1234] API Class Library

[1235] Devices.GetEnumerator Method

[1236] This returns an IEnumerator for enumerating the collection of devices, where each item is a Device object.

[1237] public IEnumerator GetEnumerator( );

[1238] Return Value

[1239] The IEnumerator.

[1240] See Also

[1241] Devices Class|ActionEngine.Api Namespace

[1242] API Class Library

[1243] DieHandler Delegate

[1244] This delegate is used for sending “die” events.

[1245] public delegate void DieHandler( );

[1246] Requirements

[1247] Namespace: ActionEngine.Api

[1248] Assembly: aefwapi (in aefwapi.dll)

[1249] See Also

[1250] ActionEngine.Api Namespace|DieEvents

[1251] API Class Library

[1252] Email Class

[1253] This class represents an e-mail address.

[1254] For a list of all members of this type, see Email Members.

[1255] System.Object

[1256] FriendlyData

[1257] Email

[1258] public class Email: FriendlyData

[1259] Requirements

[1260] Namespace: ActionEngine.Api

[1261] Assembly: aefwapi (in aefwapi.dll)

[1262] See Also

[1263] Email Members|ActionEngine.Api Namespace Emails

[1264] API Class Library

[1265] Email Members

[1266] Email overview Public Instance Constructors Email Constructor This constructs an e-mail address. Public Instance Properties Address The e-mail address itself, which cannot be null. FriendlyName (inherited from FriendlyData) The friendly name of the user data. Public Instance Methods Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetHashCode (inherited from Object) Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Object) Gets the Type of the current instance. ToString This returns an XML representation of the e-mail address. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone (inherited from Object) Creates a shallow copy of the current Object.

[1267] See Also

[1268] Email Class|ActionEngine.Api Namespace|Emails

[1269] API Class Library

[1270] Email Constructor

[1271] This constructs an e-mail address.

[1272] public Email(

[1273] string friendlyName,

[1274] string address

[1275] );

[1276] Parameters

[1277] friendlyName

[1278] The friendly name of the e-mail address.

[1279] address

[1280] The e-mail address.

[1281] See Also

[1282] Email Class|ActionEngine.Api Namespace

[1283] API Class Library

[1284] Email Properties

[1285] The properties of the Email class are listed below. For a complete list of Email class members, see the Email Members topic.

[1286] Public Instance Properties Address The e-mail address itself, which cannot be null. FriendlyName The friendly name of the user data. (inherited from FriendlyData)

[1287] See Also

[1288] Email Class|ActionEngine.Api Namespace|Emails

[1289] API Class Library

[1290] Email.Address Property

[1291] The e-mail address itself, which cannot be null.

[1292] public string Address {get; set;}

[1293] See Also

[1294] Email Class|ActionEngine.Api Namespace

[1295] API Class Library

[1296] Email Methods

[1297] The methods of the Email class are listed below. For a complete list of Email class members, see the Email Members topic. Public Instance Methods Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetHashCode Serves as a hash function for a (inherited from Object) particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Object) Gets the Type of the current instance. ToString This returns an XML representation of the e-mail address. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone Creates a shallow copy of the (inherited from Object) current Object.

[1298] See Also

[1299] Email Class|ActionEngine.Api Namespace|Emails

[1300] API Class Library

[1301] Email.ToString Method

[1302] This returns an XML representation of the e-mail address.

[1303] public override string ToString( );

[1304] Return Value

[1305] An XML representation of the e-mail address.

[1306] See Also

[1307] Email Class|ActionEngine.Api Namespace

[1308] API Class Library

[1309] Emails Class

[1310] This class represents a collection of Email objects.

[1311] For a list of all members of this type, see Emails Members.

[1312] System.Object

[1313] FriendlyDataSet

[1314] Emails

[1315] public class Emails: FriendlyDataSet

[1316] Requirements

[1317] Namespace: ActionEngine.Api

[1318] Assembly: aefwapi (in aefwapi.dll)

[1319] See Also

[1320] Emails Members|ActionEngine.Api Namespace Email

[1321] API Class Library

[1322] Emails Members

[1323] Emails overview Public Instance Constructors Emails Constructor This constructs an empty collection of e-mail addresses. Public Instance Properties GetPrimary This retrieves the primary e-mail address of the collection. Item This retrieves an e-mail address by the given friendly name. Public Instance Methods Add This adds an e-mail address to the collection. Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetEnumerator (inherited from FriendlyDataSet) This returns an IEnumerator for enumerating the collection of friendly data. GetHashCode (inherited from Object) Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Object) Gets the Type of the current instance. Remove This removes the e-mail address with the given friendly name. SetPrimary (inherited from FriendlyDataSet) This sets the primary friendly data for the collection. ToString (inherited from FriendlyDataSet) This returns an XML representation of the friendly data set. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone (inherited from Object) Creates a shallow copy of the current Object.

[1324] See Also

[1325] Emails Class|ActionEngine.Api Namespace|Email

[1326] API Class Library

[1327] Emails Constructor

[1328] This constructs an empty collection of e-mail addresses.

[1329] public Emails( );

[1330] See Also

[1331] Emails Class|ActionEngine.Api Namespace

[1332] API Class Library

[1333] Emails Properties

[1334] The properties of the Emails class are listed below. For a complete list of Emails class members, see the Emails Members topic.

[1335] Public Instance Properties GetPrimary This retrieves the primary e-mail address of the collection. Item This retrieves an e-mail address by the given friendly name.

[1336] See Also

[1337] Emails Class|ActionEngine.Api Namespace|Email

[1338] API Class Library

[1339] Emails.GetPrimary Property

[1340] This retrieves the primary e-mail address of the collection.

[1341] public Email GetPrimary {get;}

[1342] Remarks

[1343] This retrieves the primary e-mail address of the collection. If the collection is empty, null is returned.

[1344] See Also

[1345] Emails Class|ActionEngine.Api Namespace

[1346] API Class Library

[1347] Emails.Item Property

[1348] This retrieves an e-mail address by the given friendly name.

[1349] public Email this[

[1350] string friendlyName

[1351] ] {get;}

[1352] Remarks

[1353] This retrieves an e-mail address by the given friendly name. If none is found, null is returned.

[1354] See Also

[1355] Emails Class|ActionEngine.Api Namespace

[1356] API Class Library

[1357] Emails Methods

[1358] The methods of the Emails class are listed below. For a complete list of Emails class members, see the Emails Members topic. Public Instance Methods Add This adds an e-mail address to the collection. Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetEnumerator (inherited from FriendlyDataSet) This returns an IEnumerator for enumerating the collection of friendly data. GetHashCode (inherited from Object) Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Object) Gets the Type of the current instance. Remove This removes the e-mail address with the given friendly name. SetPrimary (inherited from FriendlyDataSet) This sets the primary friendly data for the collection. ToString (inherited from FriendlyDataSet) This returns an XML representation of the friendly data set. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone (inherited from Object) Creates a shallow copy of the current Object.

[1359] See Also

[1360] Emails Class|ActionEngine.Api Namespace|Email

[1361] API Class Library

[1362] Emails.Add Method

[1363] This adds an e-mail address to the collection.

[1364] public void Add(

[1365] Email email

[1366] );

[1367] Parameters

[1368] email

[1369] The e-mail address to add to the collection.

[1370] See Also

[1371] Emails Class|ActionEngine.Api Namespace

[1372] API Class Library

[1373] Emails.Remove Method

[1374] This removes the e-mail address with the given friendly name.

[1375] public Email Remove(

[1376] string friendlyName

[1377] );

[1378] Parameters

[1379] friendlyName

[1380] The friendly name of the e-mail address to remove.

[1381] Return Value

[1382] The e-mail address removed is returned, or null if not found.

[1383] Remarks

[1384] This removes the e-mail address with the given friendly name. If the e-mail address is not found, no action is taken. If the e-mail address removed was primary, a new one is selected.

[1385] See Also

[1386] Emails Class|ActionEngine.Api Namespace

[1387] API Class Library

[1388] FriendlyData Class

[1389] This is the base class for various user data classes that have friendly names.

[1390] For a list of all members of this type, see FriendlyData Members.

[1391] System.Object

[1392] FriendlyData

[1393] public abstract class FriendlyData

[1394] Requirements

[1395] Namespace: ActionEngine.Api

[1396] Assembly: aefwapi (in aefwapi.dll)

[1397] See Also

[1398] FriendlyData Members|ActionEngine.Api Namespace

[1399] API Class Library

[1400] FriendlyData Members

[1401] FriendlyData overview Public Instance Properties FriendlyName The friendly name of the user data. Public Instance Methods Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetHashCode (inherited from Object) Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Object) Gets the Type of the current instance. ToString (inherited from Object) Returns a String that represents the current Object. Protected Instance Constructors FriendlyData Constructor Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone (inherited from Object) Creates a shallow copy of the current Object.

[1402] See Also

[1403] FriendlyData Class|ActionEngine.Api Namespace

[1404] API Class Library

[1405] FriendlyData Constructor

[1406] protected FriendlyData( );

[1407] See Also

[1408] FriendlyData Class|ActionEngine.Api Namespace

[1409] API Class Library

[1410] FriendlyData Properties

[1411] The properties of the FriendlyData class are listed below. For a complete list of FriendlyData class members, see the FriendlyData Members topic.

[1412] Public Instance Properties FriendlyName The friendly name of the user data.

[1413] See Also

[1414] FriendlyData Class|ActionEngine.Api Namespace

[1415] API Class Library

[1416] FriendlyData.FriendlyName Property

[1417] The friendly name of the user data.

[1418] public string FriendlyName {get; set;}

[1419] Remarks

[1420] The friendly name of the user data. This cannot be set to null.

[1421] See Also

[1422] FriendlyData Class|ActionEngine.Api Namespace

[1423] API Class Library

[1424] FriendlyDataSet Class

[1425] This is the base class for various collections of user data that have friendly names.

[1426] For a list of all members of this type, see FriendlyDataSet Members.

[1427] System.Object

[1428] FriendlyDataSet

[1429] public abstract class FriendlyDataSet: IEnumerable

[1430] Requirements

[1431] Namespace: ActionEngine.Api

[1432] Assembly: aefwapi (in aefwapi.dll)

[1433] See Also

[1434] FriendlyDataSet Members|ActionEngine.Api Namespace

[1435] API Class Library

[1436] FriendlyDataSet Members

[1437] FriendlyDataSet overview Public Instance Methods Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetEnumerator This returns an IEnumerator for enumerating the collection of friendly data. GetHashCode (inherited from Object) Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Object) Gets the Type of the current instance. SetPrimary This sets the primary friendly data for the collection. ToString This returns an XML representation of the friendly data set. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone (inherited from Object) Creates a shallow copy of the current Object.

[1438] See Also

[1439] FriendlyDataSet Class|ActionEngine.Api Namespace

[1440] API Class Library

[1441] FriendlyDataSet Methods

[1442] The methods of the FriendlyDataSet class are listed below. For a complete list of FriendlyDataSet class members, see the FriendlyDataSet Members topic. Public Instance Methods Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetEnumerator This returns an IEnumerator for enumerating the collection of friendly data. GetHashCode (inherited from Object) Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Object) Gets the Type of the current instance. SetPrimary This sets the primary friendly data for the collection. ToString This returns an XML representation of the friendly data set. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone (inherited from Object) Creates a shallow copy of the current Object.

[1443] See Also

[1444] FriendlyDataSet Class|ActionEngine.Api Namespace

[1445] API Class Library

[1446] FriendlyDataSet.GetEnumerator Method

[1447] This returns an IEnumerator for enumerating the collection of friendly data.

[1448] public IEnumerator GetEnumerator( );

[1449] Return Value

[1450] The IEnumerator.

[1451] Implements

[1452] IEnumerable.GetEnumerator

[1453] See Also

[1454] FriendlyDataSet Class|ActionEngine.Api Namespace

[1455] API Class Library

[1456] FriendlyDataSet.SetPrimary Method

[1457] This sets the primary friendly data for the collection.

[1458] public void SetPrimary(

[1459] string friendlyName

[1460] );

[1461] Parameters

[1462] friendlyName

[1463] The friendly name of the friendly data to make primary.

[1464] Exceptions Exception Type Condition ApplicationException This is thrown when the collection is empty or the given friendly name is not found.

[1465] See Also

[1466] FriendlyDataSet Class|ActionEngine.Api Namespace

[1467] API Class Library

[1468] FriendlyDataSet.ToString Method

[1469] This returns an XML representation of the friendly data set.

[1470] public override string ToString( );

[1471] Return Value

[1472] An XML representation of the friendly data set.

[1473] See Also

[1474] FriendlyDataSet Class|ActionEngine.Api Namespace

[1475] API Class Library

[1476] FriendlyPair Class

[1477] This class represents a pairing of a friendly name with a FriendlyData object.

[1478] For a list of all members of this type, see FriendlyPair Members.

[1479] System.Object

[1480] FriendlyPair

[1481] public class FriendlyPair

[1482] Requirements

[1483] Namespace: ActionEngine.Api

[1484] Assembly: aefwapi (in aefwapi.dll)

[1485] See Also

[1486] FriendlyPair Members|ActionEngine.Api Namespace|FriendlyData

[1487] API Class Library

[1488] FriendlyPair Members

[1489] FriendlyPair overview Public Instance Constructors FriendlyPair Constructor This constructs a friendly pair. Public Instance Properties FriendlyData The friendly data. FriendlyName The friendly name. Public Instance Methods Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetHashCode (inherited Serves as a hash function for a from Object) particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Object) Gets the Type of the current instance. ToString (inherited from Object) Returns a String that represents the current Object. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone Creates a shallow copy of the (inherited from Object) current Object.

[1490] See Also

[1491] FriendlyPair Class|ActionEngine.Api Namespace|FriendlyData

[1492] API Class Library

[1493] FriendlyPair Constructor

[1494] This constructs a friendly pair.

[1495] public FriendlyPair(

[1496] string friendlyName,

[1497] FriendlyData friendlyData

[1498] );

[1499] Parameters

[1500] friendlyName

[1501] The friendly name.

[1502] friendlyData

[1503] The friendly data.

[1504] See Also

[1505] FriendlyPair Class|ActionEngine.Api Namespace

[1506] API Class Library

[1507] FriendlyPair Properties

[1508] The properties of the FriendlyPair class are listed below. For a complete list of FriendlyPair class members, see the FriendlyPair Members topic.

[1509] Public Instance Properties FriendlyData The friendly data. FriendlyName The friendly name.

[1510] See Also

[1511] FriendlyPair Class|ActionEngine.Api Namespace|FriendlyData

[1512] API Class Library

[1513] FriendlyPair.FriendlyData Property

[1514] The friendly data.

[1515] public FriendlyData FriendlyData {get; set;}

[1516] See Also

[1517] FriendlyPair Class|ActionEngine.Api Namespace

[1518] API Class Library

[1519] FriendlyPair.FriendlyName Property

[1520] The friendly name.

[1521] public string FriendlyName {get; set;}

[1522] See Also

[1523] FriendlyPair Class|ActionEngine.Api Namespace

[1524] API Class Library

[1525] HealthResponse Class

[1526] This class represents a response to report on the health of a module.

[1527] For a list of all members of this type, see HealthResponse Members.

[1528] System.Object

[1529] Response

[1530] Health Response

[1531] public class HealthResponse: Response

[1532] Remarks

[1533] This class represents a response to report on the health of a module. !@# MORE . . . EXPLAIN HOW TO SET UP INTERVALS, HOW HEALTH RESPONSES CAN BE RETURNED AT ANY TIME IN ANY API, ETC.

[1534] Requirements

[1535] Namespace: ActionEngine.Api

[1536] Assembly: aefwapi (in aefwapi.dll)

[1537] See Also

[1538] HealthResponse Members|ActionEngine.Api Namespace

[1539] API Class Library

[1540] HealthResponse Members

[1541] HealthResponse overview Public Instance Constructors HealthResponse Overloaded. Initializes a new instance of the HealthResponse class. Public Instance Methods Equals (inherited from Determines whether the specified Object is Object) equal to the current Object. GetHashCode Serves as a hash function for a particular (inherited from Object) type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited Gets the Type of the current instance. from Object) ToString This returns an XML representation of the (inherited from Response) response. Protected Instance Methods Finalize (inherited Allows an Object to attempt to free resources from Object) and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone Creates a shallow copy of the current Object. (inherited from Object)

[1542] See Also

[1543] HealthResponse Class|ActionEngine.Api Namespace

[1544] API Class Library

[1545] HealthResponse Constructor

[1546] This constructs a health response.

[1547] Overload List

[1548] This constructs a health response.

[1549] public HealthResponse(IModule,Status);

[1550] This constructs a health response.

[1551] public HealthResponse(IModule,Status,string);

[1552] See Also

[1553] HealthResponse Class|ActionEngine.Api Namespace

[1554] API Class Library

[1555] HealthResponse Constructor (IModule, Status)

[1556] This constructs a health response.

[1557] public HealthResponse(

[1558] IModule module,

[1559] Status status

[1560] );

[1561] Parameters

[1562] module

[1563] The module whose health is being reported.

[1564] status

[1565] The health of the module.

[1566] Remarks

[1567] This constructs a health response. A default description is provided.

[1568] See Also

[1569] HealthResponse Class|ActionEngine.Api Namespace|HealthResponse Constructor Overload List

[1570] API Class Library

[1571] HealthResponse Constructor (IModule, Status, String)

[1572] This constructs a health response.

[1573] public HealthResponse(

[1574] IModule module,

[1575] Status status,

[1576] string description

[1577] );

[1578] Parameters

[1579] module

[1580] The module whose health is being reported.

[1581] status

[1582] The health of the module.

[1583] description

[1584] The description of the status (optional). If null, a default description is provided.

[1585] See Also

[1586] HealthResponse Class|ActionEngine.Api Namespace|HealthResponse Constructor

[1587] Overload List

[1588] API Class Library

[1589] HealthResponse.Status Enumeration

[1590] The enumeration of health statuses.

[1591] public enum HealthResponse.Status

[1592] Members Member Name Description Healthy The module is healthy. Sick The module is sick.

[1593] Requirements

[1594] Namespace: ActionEngine.Api

[1595] Assembly: aefwapi (in aefwapi.dll)

[1596] See Also

[1597] ActionEngine.Api Namespace

[1598] API Class Library

[1599] IAuthHandler Interface

[1600] This interface represents a user authentication handler, which can do custom authorization handling as well as taking ownership of various categories of user data.

[1601] For a list of all members of this type, see IAuthHandler Members.

[1602] public interface IAuthHandler: IModule, IHealth

[1603] Remarks

[1604] This interface represents a user authentication handler, which can do custom authorization handling as well as taking ownership of various categories of user data. To implement your own authentication handler:

[1605] Create a new plugin folder.

[1606] In the plugin folder, create a “cfg” subfolder. In the cfg folder, create an “install.xml” file. The install.xml file defines a component of type “auth.” Here is an example install.xml file: <install><content><component name=“myauthcomp” type=“auth”><class assembly=“myauthcomp.dll” lang=“.net”>MyCompany. MyAuthHandler</class></component></content><plugin><id>myauth</id><namespace>abc</namespace><version>0.1</version></plugin></install>

[1607] In the plugin folder, create a “dotnet” subfolder. The assembly referenced in install.xml is relative to this folder.

[1608] Implement the IAuthHandler interface using the class name defined in install.xml.

[1609] Edit aereg.xml to point to your auth handler for a given user namespace. Note that the namespace defined in install.xml is actually a “resource” namespace, not a user namespace. For example, to use your auth handler for user namespace “people,” add this to aereg.xml: <namespaces><ns id=“people”><auth compld=“abc:myauthcomp” password=“ . . . optional . . . ”/></ns></namespaces>

[1610] The “password” attribute above is optional. If provided, it is passed to every authentication related call to the plugin host. It serves no purpose in this .NET API, but for a pure HTTP/XML based implementation it allows the auth implementation to make sure it's getting requests from an authenticated source, not some random client on the internet.

[1611] At a minimum, implement CreateUser and GetSupportedData. Depending on what you advertise in GetSupportedData, you may need to implement other methods. To leave a method as not implemented, just return null or a new CodeResponse of E_NOT_IMPL.

[1612] Requirements

[1613] Namespace: ActionEngine.Api

[1614] Assembly: aefwapi (in aefwapi.dll)

[1615] See Also

[1616] IAuthHandler Members|ActionEngine.Api Namespace

[1617] API Class Library

[1618] IAuthHandler Members

[1619] IAuthHandler overview

[1620] Public Instance Methods CreateUser This is called to create a new user. DeleteUser CURRENTLY NOT IMPLEMENTED. DoesUserExist This is called to check for the existence of a user. GetSignupConcepts This is called to retrieve custom concepts for collecting additional data during sign-up. GetSupportedData This is called to discover what user data and features this auth handler supports. GetUserData This is called to retrieve all user data owned by this auth handler. LogOn This is called to authenticate a user. ModifyUserData This is called to add, delete, and modify user data. SetIdentity This is called to set a user's identity. SetPassword This is called to set a user's password. SetPrimaryUserData This is called to set the primary flag for a particular user data category.

[1621] See Also

[1622] IAuthHandler Interface|ActionEngine.Api Namespace

[1623] API Class Library

[1624] IAuthHandler Methods

[1625] The methods of the IAuthHandler interface are listed below. For a complete list of IAuthHandler interface members, see the IAuthHandler Members topic.

[1626] Public Instance Methods CreateUser This is called to create a new user. DeleteUser CURRENTLY NOT IMPLEMENTED. DoesUserExist This is called to check for the existence of a user. GetSignupConcepts This is called to retrieve custom concepts for collecting additional data during sign-up. GetSupportedData This is called to discover what user data and features this auth handler supports. GetUserData This is called to retrieve all user data owned by this auth handler. LogOn This is called to authenticate a user. ModifyUserData This is called to add, delete, and modify user data. SetIdentity This is called to set a user's identity. SetPassword This is called to set a user's password. SetPrimaryUserData This is called to set the primary flag for a particular user data category.

[1627] See Also

[1628] IAuthHandler Interface|ActionEngine.Api Namespace

[1629] API Class Library

[1630] IAuthHandler.CreateUser Method

[1631] This is called to create a new user.

[1632] Response CreateUser(

[1633] ClientInfo clientInfo,

[1634] User user,

[1635] string conceptValues,

[1636] Result result

[1637] );

[1638] Parameters

[1639] clientInfo

[1640] Information about the client making the request.

[1641] user

[1642] The user to create.

[1643] conceptValues

[1644] The values of the submitted custom concepts.

[1645] result

[1646] The result associated with the original AnswersResponse.

[1647] Return Value

[1648] A Response.

[1649] Remarks

[1650] This is called to create a new user. If successful, typically a CodeResponse of S_OK is returned. If you wish to return custom sign-up concepts to gather more data, return a ConceptsResponse. If you wish to return a custom solution at the end of a successful sign-up, return an AnswersResponse.

[1651] If you include SignupConcepts in the response to GetSupportedData, you can append your own concepts to those already present in sign-up. This is done in response to GetSignupConcepts. Once those concepts are submitted back to the server, the concept values and a Result are provided as arguments here.

[1652] If you include SilentSignup in your response to GetSupportedData, this method behaves a bit differently. Silent sign-up involves two basic ideas. One is that, if the framework finds that an account exists in this auth handler but not in the framework database, it will automatically (silently) create a framework account, in which case CreateUser is never called. The second idea is that, if the user explicitly signs up, CreateUser will be called, and its implementation should handle two cases:

[1653] The account does not exist in the auth handler. Your implementation should simply create the account.

[1654] The account DOES exist in the auth handler. Your implementation should try to do a logon request with the given user name and password. If successful, return S_OK. If not, return E_LOGON_FAILED.

[1655] See Also

[1656] IAuthHandler Interface|ActionEngine.Api Namespace|GetSignupConcepts

[1657] API Class Library

[1658] IAuthHandler.DeleteUser Method

[1659] CURRENTLY NOT IMPLEMENTED.

[1660] Response DeleteUser(

[1661] Clientinfo clientinfo,

[1662] UserName userName,

[1663] string password

[1664] );

[1665] Parameters

[1666] clientInfo

[1667] Information about the client making the request.

[1668] userName

[1669] The user name.

[1670] password

[1671] The user's password. Note: the password is null in cases where administrator-level functionality is driving this call.

[1672] Return Value

[1673] A Response.

[1674] Remarks

[1675] This is called to delete an existing user. If successful, or if the user doesn't exist, return S_OK. Otherwise, return an appropriate error code.

[1676] See Also

[1677] IAuthHandler Interface|ActionEngine.Api Namespace

[1678] API Class Library

[1679] IAuthHandler.DoesUserExist Method

[1680] This is called to check for the existence of a user.

[1681] Response DoesUserExist(

[1682] ClientInfo clientInfo,

[1683] UserName userName

[1684] );

[1685] Parameters

[1686] clientInfo

[1687] Information about the client making the request.

[1688] userName

[1689] The user name.

[1690] Return Value

[1691] A Response.

[1692] Remarks

[1693] This is called to check for the existence of a user. The appropriate BooleanResponse should be returned, or a CodeResponse in case of error. If SilentSignup is supported, this is never called in which case returning null is fine.

[1694] See Also

[1695] IAuthHandler Interface|ActionEngine.Api Namespace

[1696] API Class Library

[1697] IAuthHandler.GetSignupConcepts Method

[1698] This is called to retrieve custom concepts for collecting additional data during sign-up.

[1699] Response GetSignupConcepts(

[1700] ClientInfo clientInfo

[1701] );

[1702] Parameters

[1703] clientInfo

[1704] Information about the client making the request.

[1705] Return Value

[1706] A Response.

[1707] Remarks

[1708] This is called to retrieve custom concepts for collecting additional data during sign-up. To implement this, you must support SignupConcepts. A ConceptsResponse should be returned, or a CodeResponse in case of error.

[1709] See Also

[1710] IAuthHandler Interface|ActionEngine.Api Namespace|CreateUser

[1711] API Class Library

[1712] IAuthHandler.GetSupportedData Method

[1713] This is called to discover what user data and features this auth handler supports.

[1714] Response GetSupportedData(

[1715] ClientInfo clientInfo

[1716] );

[1717] Parameters

[1718] clientInfo

[1719] Information about the client making the request.

[1720] Return Value

[1721] A Response.

[1722] Remarks

[1723] This is called to discover what user data and features this auth handler supports. A SupportedAuthDataResponse should be returned, or a CodeResponse in case of error.

[1724] See Also

[1725] IAuthHandler Interface|ActionEngine.Api Namespace

[1726] API Class Library

[1727] IAuthHandler.GetUserData Method

[1728] This is called to retrieve all user data owned by this auth handler.

[1729] Response GetUserData(

[1730] ClientInfo clientInfo,

[1731] UserName userName,

[1732] string password

[1733] );

[1734] Parameters

[1735] clientInfo

[1736] Information about the client making the request.

[1737] userName

[1738] The user name.

[1739] password

[1740] The user's password. Note: the password is null in cases where administrator-level functionality is driving this call.

[1741] Return Value

[1742] A Response.

[1743] Remarks

[1744] This is called to retrieve all user data owned by this auth handler. A UserDataResponse should be returned, or a CodeResponse in case of error.

[1745] See Also

[1746] IAuthHandler Interface|ActionEngine.Api Namespace|UserDataResponse

[1747] API Class Library

[1748] IAuthHandler.LogOn Method

[1749] This is called to authenticate a user.

[1750] Response LogOn(

[1751] ClientInfo clientInfo,

[1752] User user,

[1753] UserName userName,

[1754] string password

[1755] );

[1756] Parameters

[1757] clientInfo

[1758] Information about the client making the request.

[1759] user

[1760] The user, or null in the case of silent sign-up where the auth handler has created the account but the framework has not yet done so, which would only happen once for the life of the user.

[1761] userName

[1762] The user name.

[1763] password

[1764] The user's password.

[1765] Return Value

[1766] A Response.

[1767] Remarks

[1768] This is called to authenticate a user. A BooleanResponse should be returned with true for success and false for access denied, or a CodeResponse in case of error.

[1769] See Also

[1770] IAuthHandler Interface|ActionEngine.Api Namespace

[1771] API Class Library

[1772] IAuthHandler.ModifyUserData Method

[1773] This is called to add, delete, and modify user data.

[1774] Response ModifyUserData(

[1775] ClientInfo clientInfo,

[1776] UserName userName,

[1777] string password,

[1778] FriendlyData

toDelete,

[1779] FriendlyPair

toModify,

[1780] FriendlyData

toAdd

[1781] );

[1782] Parameters

[1783] clientInfo

[1784] Information about the client making the request.

[1785] userName

[1786] The user name.

[1787] password

[1788] The user's password. Note: the password is null in cases where administrator-level functionality is driving this call.

[1789] toDelete

[1790] The friendly data to delete. This is never null, only potentially zero in length.

[1791] toModify

[1792] The friendly data to modify. This is never null, only potentially zero in length.

[1793] toAdd

[1794] The friendly data to add. This is never null, only potentially zero in length.

[1795] Return Value

[1796] A Response.

[1797] Remarks

[1798] This is called to add, delete, and modify user data. The order in which these modifications must be done is deletions, followed by modifications, followed by additions. If an error happens along the way, there is no need to roll back the changes already made, although this can be done if desired.

[1799] See Also

[1800] IAuthHandler Interface|ActionEngine.Api Namespace

[1801] API Class Library

[1802] IAuthHandler.SetIdentity Method

[1803] This is called to set a user's identity.

[1804] Response SetIdentity(

[1805] ClientInfo clientInfo,

[1806] UserName userName,

[1807] string password,

[1808] Identity identity

[1809] );

[1810] Parameters

[1811] clientInfo

[1812] Information about the client making the request.

[1813] userName

[1814] The user name.

[1815] password

[1816] The user's password. Note: the password is null in cases where administrator-level functionality is driving this call.

[1817] identity

[1818] The new identity.

[1819] Return Value

[1820] A Response.

[1821] Remarks

[1822] This is called to set a user's identity. If successful, return S_OK. Otherwise, return an appropriate error code.

[1823] See Also

[1824] IAuthHandler Interface|ActionEngine.Api Namespace

[1825] API Class Library

[1826] IAuthHandler.SetPassword Method

[1827] This is called to set a user's password.

[1828] Response SetPassword(

[1829] ClientInfo clientInfo,

[1830] UserName userName,

[1831] string password,

[1832] string newPassword

[1833] );

[1834] Parameters

[1835] clientInfo

[1836] Information about the client making the request.

[1837] userName

[1838] The user name.

[1839] password

[1840] The user's password. Note: the password is null in cases where administrator-level functionality is driving this call.

[1841] newPassword

[1842] The new password.

[1843] Return Value

[1844] A Response.

[1845] Remarks

[1846] This is called to set a user's password. If successful, return S_OK. Otherwise, return an appropriate error code. If password changes are not supported, return E_PASSWORD_CANT_CHANGE.

[1847] See Also

[1848] IAuthHandler Interface|ActionEngine.Api Namespace

[1849] API Class Library

[1850] IAuthHandler.SetPrimaryUserData Method

[1851] This is called to set the primary flag for a particular user data category.

[1852] Response SetPrimaryUserData(

[1853] ClientInfo clientInfo,

[1854] UserName userName,

[1855] string password,

[1856] string category,

[1857] string friendlyName

[1858] );

[1859] Parameters

[1860] clientInfo

[1861] Information about the client making the request.

[1862] userName

[1863] The user name.

[1864] password

[1865] The user's password. Note: the password is null in cases where administrator-level functionality is driving this call.

[1866] category

[1867] The category of friendly data.

[1868] friendlyName

[1869] The friendly name that is to be made primary within the FriendlyDataSet.

[1870] Return Value

[1871] A Response.

[1872] Remarks

[1873] This is called to set the primary flag for a particular user data category. If successful, return S_OK. Otherwise, return an appropriate error code.

[1874] The valid categories are:

[1875] ROOT_NAME

[1876] ROOT_NAME

[1877] ROOT_NAME

[1878] ROOT_NAME

[1879] See Also

[1880] IAuthHandler Interface|ActionEngine.Api Namespace

[1881] API Class Library

[1882] Identity Class

[1883] This class represents a person's name broken out into first name, last name, etc.

[1884] For a list of all members of this type, see Identity Members.

[1885] System.Object

[1886] Identity

[1887] public class Identity

[1888] Requirements

[1889] Namespace: ActionEngine.Api

[1890] Assembly: aefwapi (in aefwapi.dll)

[1891] See Also

[1892] Identity Members|ActionEngine.Api Namespace

[1893] API Class Library

[1894] Identity Members

[1895] Identity overview Public Instance Constructors Identity Constructor This constructs an identity. Public Instance Properties FirstName The person's first name. LastName The person's last name. MiddleName The person's middle name. Suffix The person's suffix. Title The person's title. Public Instance Methods Equals (inherited Determines whether the specified Object is from Object) equal to the current Object. GetHashCode Serves as a hash function for a particular (inherited from Object) type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Gets the Type of the current instance. Object) ToString (inherited from Returns a String that represents Object) the current Object. Protected Instance Methods Finalize (inherited Allows an Object to attempt to free resources from Object) and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone Creates a shallow copy of the current Object. (inherited from Object)

[1896] See Also

[1897] Identity Class|ActionEngine.Api Namespace

[1898] API Class Library

[1899] Identity Constructor

[1900] This constructs an identity.

[1901] public Identity(

[1902] string first,

[1903] string middle,

[1904] string last

[1905] );

[1906] Parameters

[1907] first

[1908] The first name, or null if not specified.

[1909] middle

[1910] The middle name, or null if not specified.

[1911] last

[1912] The last name, or null if not specified.

[1913] See Also

[1914] Identity Class|ActionEngine.Api Namespace

[1915] API Class Library

[1916] Identity Properties

[1917] The properties of the Identity class are listed below. For a complete list of Identity class members, see the Identity Members topic.

[1918] Public Instance Properties FirstName The person's first name. LastName The person's last name. MiddleName The person's middle name. Suffix The person's suffix. Title The person's title.

[1919] See Also

[1920] Identity Class|ActionEngine.Api Namespace

[1921] API Class Library

[1922] Identity.FirstName Property

[1923] The person's first name.

[1924] public string FirstName {get; set;}

[1925] Remarks

[1926] The person's first name. When setting, null is valid. When getting, if not specified, an empty string (“ ”) is returned.

[1927] See Also

[1928] Identity Class|ActionEngine.Api Namespace

[1929] API Class Library

[1930] Identity.LastName Property

[1931] The person's last name.

[1932] public string LastName {get; set;}

[1933] Remarks

[1934] The person's last name. When setting, null is valid. When getting, if not specified, an empty string (“ ”) is returned.

[1935] See Also

[1936] Identity Class|ActionEngine.Api Namespace

[1937] API Class Library

[1938] Identity.MiddleName Property

[1939] The person's middle name.

[1940] public string MiddleName {get; set;}

[1941] Remarks

[1942] The person's middle name. When setting, null is valid. When getting, if not specified, an empty string (“ ”) is returned.

[1943] See Also

[1944] Identity Class|ActionEngine.Api Namespace

[1945] API Class Library

[1946] Identity.Suffix Property

[1947] The person's suffix.

[1948] public string Suffix {get; set;}

[1949] Remarks

[1950] The person's suffix. When setting, null is valid. When getting, if not specified, an empty string (“ ”) is returned.

[1951] See Also

[1952] Identity Class|ActionEngine.Api Namespace

[1953] API Class Library

[1954] Identity.Title Property

[1955] The person's title.

[1956] public string Title {get; set;}

[1957] Remarks

[1958] The person's title. When setting, null is valid. When getting, if not specified, an empty string (“ ”) is returned.

[1959] See Also

[1960] Identity Class|ActionEngine.Api Namespace

[1961] API Class Library

[1962] IHealth Interface

[1963] !@#

[1964] For a list of all members of this type, see IHealth Members.

[1965] public interface IHealth

[1966] Requirements

[1967] Namespace: ActionEngine.Api

[1968] Assembly: aefwapi (in aefwapi.dll)

[1969] See Also

[1970] IHealth Members|ActionEngine.Api Namespace

[1971] API Class Library

[1972] IHealth Members

[1973] IHealth overview

[1974] Public Instance Methods CheckHealth This is called periodically to check on the health of a module.

[1975] See Also

[1976] IHealth Interface|ActionEngine.Api Namespace

[1977] API Class Library

[1978] IHealth Methods

[1979] The methods of the IHealth interface are listed below. For a complete list of IHealth interface members, see the IHealth Members topic.

[1980] Public Instance Methods CheckHealth This is called periodically to check on the health of a module.

[1981] See Also

[1982] IHealth Interface|ActionEngine.Api Namespace

[1983] API Class Library

[1984] IHealth.CheckHealth Method

[1985] This is called periodically to check on the health of a module.

[1986] Response CheckHealth( );

[1987] Return Value

[1988] A Response.

[1989] Remarks

[1990] This is called periodically to check on the health of a module. Typically a HealthResponse is returned. !@# MUCH MORE NEEDED . . .

[1991] See Also

[1992] IHealth Interface|ActionEngine.Api Namespace

[1993] API Class Library

[1994] ImageResource Class

[1995] This class represents an image (graphic) resource.

[1996] For a list of all members of this type, see ImageResource Members.

[1997] System.Object

[1998] Resource

[1999] BinaryResource

[2000] ImageResource

[2001] public class ImageResource: BinaryResource

[2002] Requirements

[2003] Namespace: ActionEngine.Api

[2004] Assembly: aefwapi (in aefwapi.dll)

[2005] See Also

[2006] ImageResource Members|ActionEngine.Api Namespace

[2007] API Class Library

[2008] ImageResource Members

[2009] ImageResource overview Public Instance Constructors ImageResource Overloaded. Initializes a new instance of the ImageResource class. Public Instance Methods Equals (inherited Determines whether the specified Object is equal to from Object) the current Object. GetHashCode Serves as a hash function for a particular type, (inherited from suitable for use in hashing algorithms and data from Resource) structures like a hash table. GetType (inherited Gets the Type of the current instance. from Object) ToString (inherited This returns an XML representation of the resource. from Resource) Protected Instance Methods Finalize (inherited Allows an Object to attempt to free resources and from Object) perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone Creates a shallow copy of the current Object. (inherited from Object)

[2010] See Also

[2011] ImageResource Class|ActionEngine.Api Namespace

[2012] API Class Library

[2013] ImageResource Constructor

[2014] This constructs an image resource.

[2015] Overload List

[2016] This constructs an image resource.

[2017] public ImageResource(ResourceReference,byte

);

[2018] This constructs an image resource.

[2019] public ImageResource(ResourceReference,Image);

[2020] See Also

[2021] ImageResource Class|ActionEngine.Api Namespace

[2022] API Class Library

[2023] ImageResource Constructor (ResourceReference, Byte

)

[2024] This constructs an image resource.

[2025] public ImageResource(

[2026] ResourceReference resourceReference,

[2027] byte

bytes

[2028] );

[2029] Parameters

[2030] resourceReference

[2031] The original reference to the image.

[2032] bytes

[2033] The binary content of the image.

[2034] See Also

[2035] ImageResource Class|ActionEngine.Api Namespace|ImageResource Constructor

[2036] Overload List

[2037] API Class Library

[2038] ImageResource Constructor (ResourceReference, Image)

[2039] This constructs an image resource.

[2040] public ImageResource(

[2041] ResourceReference resourceReference,

[2042] Image image

[2043] );

[2044] Parameters

[2045] resourceReference

[2046] The original reference to the image.

[2047] image

[2048] The image.

[2049] See Also

[2050] ImageResource Class|ActionEngine.Api Namespace|ImageResource Constructor

[2051] Overload List

[2052] API Class Library

[2053] IModule Interface

[2054] This interface represents a module, which is the base interface for IAuthHandler and IService but can also represent a module on its own.

[2055] For a list of all members of this type, see IModule Members.

[2056] public interface IModule

[2057] Remarks

[2058] This interface represents a module, which is the base interface for IAuthHandler and IService but can also represent a module on its own.

[2059] During start-up, all modules are loaded by the process. Then, ModuleInit is called on each one. After that, service and auth requests are processed if the IModule is an IAuthHandler or an IService.

[2060] If your plugin does any background tasks in a separate thread, make sure you register for the “die” event so you can gracefully shut down. For more information, see DieEvents.

[2061] Implementing a module that is not an IAuthHandler or an IService can be useful in ways that a standard Windows service is useful, but you have the advantage of working inside the framework and can make use of a configuration file and your plugin environment.

[2062] Modules can also dynamically obtain references to other modules running in the process. There are several benefits to this model. For more information, see the class overview for PluginEnvironment. If a module makes use of a type (interface, class, etc.) exposed by an assembly in another plugin, a dependency needs to be set up in install.xml. See the example below.

[2063] To implement a module that is not an IAuthHandler or an IService:

[2064] Create a new plugin folder.

[2065] In the plugin folder, create a “cfg” subfolder. In the cfg folder, create an “install.xml” file. The install.xml file defines a component of type “module.” Here is an example install.xml file: <install><content><component name=“mymodule” type=“module”><class assembly=“mymodule.dll” lang=“.net”>MyCompany.MyModule</class><dependencies><component>some_ns:some_componentOne</component><component>some_componentTwo</component></dependencies></component></content><plugin><id>mymodule</id><namespace>abc</namespace><version>0.1</version></plugin></install>

[2066] In the plugin folder, create a “dotnet” subfolder. The assembly referenced in install.xml is relative to this folder.

[2067] Implement the IModule interface using the class name defined in install.xml.

[2068] If the module makes use of a type (interface, class, etc.) exposed by an assembly in another plugin, set up a dependency to the component where the needed assembly exists by specifying its component ID. Otherwise, the process will fail to instantiate your module. Recursive dependencies are honored. In other words, if component A depends on component B, which depends on component C, component A will receive a local copy of the assemblies for both components B and C. The specified component IDs should be fully-qualified with the resource namespace. If not, the namespace of the local component is assumed, which is generally not what you want unless you are setting up a dependency between assemblies in the same plugin.

[2069] Requirements

[2070] Namespace: ActionEngine.Api

[2071] Assembly: aefwapi (in aefwapi.dll)

[2072] See Also

[2073] IModule Members|ActionEngine.Api Namespace

[2074] API Class Library

[2075] IModule Members

[2076] IModule overview

[2077] Public Instance Methods ModuleInit This is called after all modules are loaded by the process but before any auth or service requests are processed (if this module is also an IAuthHandler or an IService).

[2078] See Also

[2079] IModule Interface|ActionEngine.Api Namespace

[2080] API Class Library

[2081] IModule Methods

[2082] The methods of the IModule interface are listed below. For a complete list of IModule interface members, see the IModule Members topic.

[2083] Public Instance Methods ModuleInit This is called after all modules are loaded by the process but before any auth or service requests are processed (if this module is also an IAuthHandler or an IService).

[2084] See Also

[2085] IModule Interface|ActionEngine.Api Namespace

[2086] API Class Library

[2087] IModule.ModuleInit Method

[2088] This is called after all modules are loaded by the process but before any auth or service requests are processed (if this module is also an IAuthHandler or an IService).

[2089] void ModuleInit( );

[2090] See Also

[2091] IModule Interface|ActionEngine.Api Namespace

[2092] API Class Library

[2093] InfoRequest Class

[2094] This class represents the XML content returned by an IServiceInfo instance in response to GetInfoRequest.

[2095] For a list of all members of this type, see InfoRequest Members.

[2096] System.Object

[2097] InfoRequest

[2098] public class InfoRequest

[2099] Remarks

[2100] This class represents the XML content returned by an IServiceInfo instance in response to GetInfoRequest. The framework then passes the info request to various service info instances so that each one can reply with its own info. A file called actioninfo_cfg.xml in the framework's cfg directory defines the relationships of services that get called to provide info. After calling GetInfo on the appropriate services, the engine aggregates each chunk of info returned into a single deck that the user sees while waiting for the “actual” request to return.

[2101] Requirements

[2102] Namespace: ActionEngine.Api

[2103] Assembly: aefwapi (in aefwapi.dll)

[2104] See Also

[2105] InfoRequest Members|ActionEngine.Api Namespace|InfoRequestResponse

[2106] IServiceInfo

[2107] API Class Library

[2108] InfoRequest Members

[2109] InfoRequest overview Public Instance Constructors InfoRequest Overloaded. Initializes a new instance of the InfoRequest class. Public Instance Properties RootElement This represents the root element of the info request XML. Public Instance Methods Equals (inherited Determines whether the specified Object is equal to from Object) the current Object. GetHashCode Serves as a hash function for a particular type, (inherited from suitable for use in hashing algorithms and data Object) structures like a hash table. GetType (inherited Gets the Type of the current instance. from Object) ToString This returns an XML representation of the info request. Protected Instance Methods Finalize Allows an Object to attempt to free resources and (inherited from perform other cleanup operations before the Object Object) is reclaimed by garbage collection. MemberwiseClone Creates a shallow copy of the current Object. (inherited from Object)

[2110] See Also

[2111] InfoRequest Class|ActionEngine.Api Namespace|InfoRequestResponse|IServiceInfo

[2112] API Class Library

[2113] InfoRequest Constructor

[2114] This constructs an empty info request.

[2115] Overload List

[2116] This constructs an empty info request.

[2117] public InfoRequest( );

[2118] This constructs an info request using the given XML as its content.

[2119] public InfoRequest(XmlElement);

[2120] See Also

[2121] InfoRequest Class|ActionEngine.Api Namespace

[2122] API Class Library

[2123] InfoRequest Constructor( )

[2124] This constructs an empty info request.

[2125] public InfoRequest( );

[2126] Remarks

[2127] This constructs an empty info request. It is equivalent to calling InfoRequest(null).

[2128] See Also

[2129] InfoRequest Class|ActionEngine.Api Namespace|InfoRequest Constructor Overload List

[2130] API Class Library

[2131] InfoRequest Constructor (XmlElement)

[2132] This constructs an info request using the given XML as its content.

[2133] public InfoRequest(

[2134] XmlElement root

[2135] );

[2136] Parameters

[2137] root

[2138] The XML content.

[2139] Remarks

[2140] This constructs an info request using the given XML as its content. If the XML element is null, this is interpreted by the framework to mean that no info should be collected from various services. Otherwise, the XML is passed to GetInfo calls on various IServiceInfo instances.

[2141] See Also

[2142] InfoRequest Class|ActionEngine.Api Namespace|InfoRequest Constructor Overload List

[2143] API Class Library

[2144] InfoRequest Properties

[2145] The properties of the InfoRequest class are listed below. For a complete list of InfoRequest class members, see the InfoRequest Members topic.

[2146] Public Instance Properties RootElement This represents the root element of the info request XML.

[2147] See Also

[2148] InfoRequest Class|ActionEngine.Api Namespace|InfoRequestResponse IServiceInfo

[2149] API Class Library

[2150] InfoRequest.RootElement Property

[2151] This represents the root element of the info request XML.

[2152] public System.Xml.XmlElement RootElement {get; set;}

[2153] Remarks

[2154] This represents the root element of the info request XML. Null is allowed, although when the framework calls GetInfo the root element is never null.

[2155] See Also

[2156] InfoRequest Class|ActionEngine.Api Namespace

[2157] API Class Library

[2158] InfoRequest Methods

[2159] The methods of the InfoRequest class are listed below. For a complete list of InfoRequest class members, see the InfoRequest Members topic. Public Instance Methods Equals (inherited Determines whether the specified Object is equal to from Object) the current Object. GetHashCode Serves as a hash function for a particular type, (inherited from suitable for use in hashing algorithms and data Object) structures like a hash table. GetType (inherited Gets the Type of the current instance. from Object) ToString This returns an XML representation of the info request. Protected Instance Methods Finalize Allows an Object to attempt to free resources and (inherited from perform other cleanup operations before the Object Object) is reclaimed by garbage collection. MemberwiseClone Creates a shallow copy of the current Object. (inherited from Object)

[2160] See Also

[2161] InfoRequest Class|ActionEngine.Api Namespace|InfoRequestResponse IServiceInfo

[2162] API Class Library

[2163] InfoRequest.ToString Method

[2164] This returns an XML representation of the info request.

[2165] public override string ToString( );

[2166] Return Value

[2167] An XML representation of the info request.

[2168] See Also

[2169] InfoRequest Class|ActionEngine.Api Namespace

[2170] API Class Library

[2171] InfoRequest.Command Enumeration

[2172] The enumeration of valid primary commands associated with GetInfoRequest.

[2173] public enum InfoRequest.Command

[2174] Members Members Member Name Description DoFeatureCommand A doFeatureCommand command. DoSolutionCommand A doSolutionCommand command. SubmitConcepts A submitConcepts command.

[2175] Requirements

[2176] Namespace: ActionEngine.Api

[2177] Assembly: aefwapi (in aefwapi.dll)

[2178] See Also

[2179] ActionEngine.Api Namespace

[2180] API Class Library

[2181] InfoRequestResponse Class

[2182] This class represents an “info request” response, which is returned by GetInfoRequest. For a list of all members of this type, see InfoRequestResponse Members.

[2183] System.Object

[2184] Response

[2185] InfoRequestResponse

[2186] public class InfoRequestResponse: Response

[2187] Requirements

[2188] Namespace: ActionEngine.Api

[2189] Assembly: aefwapi (in aefwapi.dll)

[2190] See Also

[2191] InfoRequestResponse Members|ActionEngine.Api Namespace

[2192] API Class Library

[2193] InfoRequestResponse Members

[2194] InfoRequestResponse overview Public Instance Constructors InfoRequestResponse This constructs an “info request” response. Constructor Public Instance Methods Equals (inherited Determines whether the specified Object is from Object) equal to the current Object. GetHashCode Serves as a hash function for a particular type, (inherited from suitable for use in hashing algorithms and data Object) structures like a hash table. GetType (inherited Gets the Type of the current instance. from Object) ToString (inherited This returns an XML representation of the from Response) response. Protected Instance Methods Finalize Allows an Object to attempt to free resources and (inherited from perform other cleanup operations before the Object) Object is reclaimed by garbage collection. MemberwiseClone Creates a shallow copy of the current Object. (inherited from Object)

[2195] See Also

[2196] InfoRequestResponse Class|ActionEngine.Api Namespace

[2197] API Class Library

[2198] InfoRequestResponse Constructor

[2199] This constructs an “info request” response.

[2200] public InfoRequestResponse(

[2201] InfoRequest InfoRequest

[2202] );

[2203] Parameters

[2204] InfoRequest

[2205] The info request, or null if no info request is intended.

[2206] See Also

[2207] InfoRequestResponse Class|ActionEngine.Api Namespace

[2208] API Class Library

[2209] InfoResponse Class

[2210] This class represents an info response (sometimes called an “action info” response).

[2211] For a list of all members of this type, see InfoResponse Members.

[2212] System.Object

[2213] Response

[2214] InfoResponse

[2215] public class InfoResponse: Response

[2216] Remarks

[2217] This class represents an info response (sometimes called an “action info” response). This is generally returned by GetInfo.

[2218] Requirements

[2219] Namespace: ActionEngine.Api

[2220] Assembly: aefwapi (in aefwapi.dll)

[2221] See Also

[2222] InfoResponse Members|ActionEngine.Api Namespace

[2223] API Class Library

[2224] InfoResponse Members

[2225] InfoResponse overview Public Instance Constructors InfoResponse This constructs an info response. Constructor Public Instance Methods Equals (inherited Determines whether the specified Object is equal to from Object) the current Object. GetHashCode Serves as a hash function for a particular type, (inherited from suitable for use in hashing algorithms and data Object) structures like a hash table. GetType (inherited Gets the Type of the current instance. from Object) ToString (inherited This returns an XML representation of the from Response) response. Protected Instance Methods Finalize Allows an Object to attempt to free resources and (inherited from perform other cleanup operations before the Object Object) is reclaimed by garbage collection. MemberwiseClone Creates a shallow copy of the current Object. (inherited from Object)

[2226] See Also

[2227] InfoResponse Class|ActionEngine.Api Namespace

[2228] API Class Library

[2229] InfoResponse Constructor

[2230] This constructs an info response.

[2231] public InfoResponse(

[2232] Result result

[2233] );

[2234] Parameters

[2235] result

[2236] The result, which can be null if no info is intended.

[2237] See Also

[2238] InfoResponse Class|ActionEngine.Api Namespace|GetInfo

[2239] API Class Library

[2240] IService Interface

[2241] This interface represents a service plugin, which processes requests and generally returns solutions to a client for viewing by the end user.

[2242] For a list of all members of this type, see IService Members.

[2243] public interface IService: IModule, IHealth

[2244] Remarks

[2245] This interface represents a service plugin, which processes requests and generally returns solutions to a client for viewing by the end user. To implement your own service:

[2246] Create a new plugin folder.

[2247] In the plugin folder, create a “cfg” subfolder. In the cfg folder, create an “install.xml” file with two components: one service and one feature. The feature needs to reference the service's component name. Here is an example install.xml file: <install><content><component name=“myservice” type=“service”><class assembly=“myservice.dll” lang=“.net”>MyCompany.MyService</class></component><component name=“myfeature” type=“feature”><description>This is my feature</description><service>myservice</service></component></content><plugin><id>myplugin</id><namespace>abc</namespace><version>0.1</version></plugin></install>

[2248] In the plugin folder, create a “dotnet” subfolder. The assembly referenced in install.xml is relative to this folder.

[2249] Implement the IService interface using the class name defined in install.xml. If desired, also implement IServiceInfo.

[2250] At a minimum, implement SubmitConcepts. You will most likely want to implement DoSolutionCommand as well. To leave a method as not implemented, just return null or a new CodeResponse of E_NOT_IMPL.

[2251] Requirements

[2252] Namespace: ActionEngine.Api

[2253] Assembly: aefwapi (in aefwapi.dll)

[2254] See Also

[2255] IService Members|ActionEngine.Api Namespace|IServiceInfo

[2256] API Class Library

[2257] IService Members

[2258] IService overview

[2259] Public Instance Methods DoFeatureCommand This is called to process an ex:fc( ) command from a client. DoSolutionCommand This is called to process an ex:sc( ) command from a client. GetDeck This is called to process an ex:getDeck( ) command from a client. GetResources This is called to return one or more resources to the engine. SubmitConcepts This is called to process concept values submitted by the client.

[2260] See Also

[2261] IService Interface|ActionEngine.Api Namespace IServiceInfo

[2262] API Class Library

[2263] IService Methods

[2264] The methods of the IService interface are listed below. For a complete list of IService interface members, see the IService Members topic.

[2265] Public Instance Methods DoFeatureCommand This is called to process an ex:fc( ) command from a client. DoSolutionCommand This is called to process an ex:sc( ) command from a client. GetDeck This is called to process an ex:getDeck( ) command from a client. GetResources This is called to return one or more resources to the engine. SubmitConcepts This is called to process concept values submitted by the client.

[2266] See Also

[2267] IService Interface|ActionEngine.Api Namespace|IServiceInfo

[2268] API Class Library

[2269] IService.DoFeatureCommand Method

[2270] This is called to process an ex:fc( ) command from a client.

[2271] Response DoFeatureCommand(

[2272] Clientinfo clientInfo,

[2273] User user,

[2274] string

args,

[2275] DateTime scheduledMoment

[2276] );

[2277] Parameters

[2278] clientInfo

[2279] Information about the client making the request.

[2280] user

[2281] The user related to the request.

[2282] args

[2283] Zero or more arguments as defined in the ex:fc( ) command. This is never null.

[2284] scheduledMoment

[2285] The date/time associated with the moment in a feature schedule that caused this to be called, or NoDateTime if this is unrelated to push. Because the actual time that DoFeatureCommand is called could be much later than the intended scheduled time in some cases, such as when messages back up in the push server's queue without the client picking them up, this provides the service with the link, essentially, to the original scheduled moment. For more information, see FeatureSchedule.

[2286] Return Value

[2287] A Response.

[2288] Remarks

[2289] This is called to process an ex:fc( ) command from a client. Typically an answer or concepts response is returned. A “feature command” is useful for switching contexts from one plugin to another. For example, feature A can return a solution with an ex:fc( ) that kicks off feature B by using feature B's feature ID.

[2290] See Also

[2291] IService Interface|ActionEngine.Api Namespace|AnswersResponse|ConceptsResponse

[2292] API Class Library

[2293] IService.DoSolutionCommand Method

[2294] This is called to process an ex:sc( ) command from a client.

[2295] Response DoSolutionCommand(

[2296] ClientInfo clientInfo,

[2297] User user,

[2298] Result result,

[2299] string

args

[2300] );

[2301] Parameters

[2302] clientInfo

[2303] Information about the client making the request.

[2304] user

[2305] The user related to the request.

[2306] result

[2307] The result that was previously generated by the service for the current user, or null if no previous result exists.

[2308] args

[2309] Zero or more arguments as defined in the ex:sc( ) command. This is never null.

[2310] Return Value

[2311] A Response.

[2312] Remarks

[2313] This is called to process an ex:sc( ) command from a client. Typically an answer or concepts response is returned.

[2314] See Also

[2315] IService Interface|ActionEngine.Api Namespace|AnswersResponse|ConceptsResponse

[2316] API Class Library

[2317] IService.GetDeck Method

[2318] This is called to process an ex:getdeck( ) command from a client.

[2319] Response GetDeck(

[2320] ClientInfo clientInfo,

[2321] User user,

[2322] string

args

[2323] );

[2324] Parameters

[2325] clientInfo

[2326] Information about the client making the request.

[2327] user

[2328] The user related to the request.

[2329] args

[2330] Zero or more arguments as defined in the ex:getDeck( ) command. This is never null.

[2331] Return Value

[2332] A Response.

[2333] Remarks

[2334] This is called to process an ex:getDeck( ) command from a client. Typically a deck response is returned. Answer and concepts responses are not allowed.

[2335] See Also

[2336] IService Interface|ActionEngine.Api Namespace|DeckResponse

[2337] API Class Library

[2338] IService.GetResources Method

[2339] This is called to return one or more resources to the engine.

[2340] Response GetResources(

[2341] ClientInfo clientInfo,

[2342] ResourceReference

resourceReferences

[2343] );

[2344] Parameters

[2345] clientInfo

[2346] Information about the client making the request.

[2347] resourceReferences

[2348] An array of one or more resource references for which the engine is requesting actual resources.

[2349] Return Value

[2350] A Response.

[2351] Remarks

[2352] This is called to return one or more resources to the engine. A resources response is expected.

[2353] See Also

[2354] IService Interface|ActionEngine.Api Namespace|ResourcesResponse

[2355] API Class Library

[2356] IService.SubmitConcepts Method

[2357] This is called to process concept values submitted by the client.

[2358] Response SubmitConcepts(

[2359] ClientInfo clientInfo,

[2360] User user,

[2361] Result result,

[2362] ConceptValues conceptValues

[2363] );

[2364] Parameters

[2365] clientInfo

[2366] Information about the client making the request.

[2367] user

[2368] The user related to the request.

[2369] result

[2370] The result that was previously generated by the service for the current user, or null if no previous result exists. Submitting dynamic concepts is the only time a previous result might exist.

[2371] conceptValues

[2372] The concept values posted by the client.

[2373] Return Value

[2374] A Response.

[2375] Remarks

[2376] This is called to process concept values submitted by the client. Typically an answer or concepts response is returned.

[2377] See Also

[2378] IService Interface|ActionEngine.Api Namespace|AnswersResponse|ConceptsResponse

[2379] API Class Library

[2380] IServiceInfo Interface

[2381] This interface represents “info” related functionality (sometimes called “action info”) for a service.

[2382] For a list of all members of this type, see IServiceInfo Members.

[2383] public interface IServiceInfo

[2384] Remarks

[2385] This interface represents “info” related functionality (sometimes called “action info”) for a service. If your service does not involve info, there is no need to implement this. If your service provides chunks of info that the engine aggregates into a single deck, implement the GetInfo method. If your service is called to drive the collection of other info, implement GetInfoRequest and set up the actioninfo_cfg.xml file appropriately. For more information on the latter, see InfoRequest.

[2386] Requirements

[2387] Namespace: ActionEngine.Api

[2388] Assembly: aefwapi (in aefwapi.dll)

[2389] See Also

[2390] IServiceInfo Members|ActionEngine.Api Namespace|InfoRequest

[2391] API Class Library

[2392] IServiceInfo Members

[2393] IServiceInfo overview

[2394] Public Instance Methods GetInfo This is called to retrive info, which is potentially aggregated with info from other services and returned to the user while waiting for an “actual” request. GetInfoRequest This is called to determine if a service will drive the collection of info from other services.

[2395] See Also

[2396] IServiceInfo Interface|ActionEngine.Api Namespace|InfoRequest

[2397] API Class Library

[2398] IServiceInfo Methods

[2399] The methods of the IServiceInfo interface are listed below. For a complete list of IServiceInfo interface members, see the IServiceInfo Members topic.

[2400] Public Instance Methods GetInfo This is called to retrive info, which is potentially aggregated with info from other services and returned to the user while waiting for an “actual” request. GetInfoRequest This is called to determine if a service will drive the collection of info from other services.

[2401] See Also

[2402] IServiceInfo Interface|ActionEngine.Api Namespace|InfoRequest

[2403] API Class Library

[2404] IServiceInfo.GetInfo Method

[2405] This is called to retrive info, which is potentially aggregated with info from other services and returned to the user while waiting for an “actual” request.

[2406] Response GetInfo(

[2407] ClientInfo clientInfo,

[2408] User user,

[2409] InfoRequest infoRequest

[2410] );

[2411] Parameters

[2412] clientInfo

[2413] Information about the client making the request.

[2414] user

[2415] The user related to the request.

[2416] infoRequest

[2417] The info request. This is originally generated by GetInfoRequest and then passed to various services to retrieve and aggregate various info.

[2418] Return Value

[2419] A Response.

[2420] Remarks

[2421] This is called to retrive info, which is potentially aggregated with info from other services and returned to the user while waiting for an “actual” request. Typically an InfoResponse is returned. To leave the method as not implemented, return null or a code response of E_NOT_IMPL.

[2422] See Also

[2423] IServiceInfo Interface|ActionEngine.Api Namespace

[2424] API Class Library

[2425] IServiceInfo.GetInfoRequest Method

[2426] This is called to determine if a service will drive the collection of info from other services.

[2427] Response GetInfoRequest(

[2428] ClientInfo clientInfo,

[2429] User user,

[2430] ConceptValues conceptValues,

[2431] Command primaryCommand

[2432] );

[2433] Parameters

[2434] clientInfo

[2435] Information about the client making the request.

[2436] user

[2437] The user related to the request.

[2438] conceptValues

[2439] The concept values posted by the client.

[2440] primaryCommand

[2441] The “actual” command that the client initiated.

[2442] Return Value

[2443] A Response.

[2444] Remarks

[2445] This is called to determine if a service will drive the collection of info from other services. Typically a InfoRequestResponse is returned. To leave the method as not implemented, return null or a code response of E_NOT_IMPL.

[2446] See Also

[2447] IServiceInfo Interface|ActionEngine.Api Namespace

[2448] API Class Library

[2449] Message Class

[2450] This class represents a message.

[2451] For a list of all members of this type, see Message Members.

[2452] System.Object

[2453] Message

[2454] public class Message

[2455] Remarks

[2456] This class represents a message. Messages are generally displayed on the client as a pop-up dialog.

[2457] Requirements

[2458] Namespace: ActionEngine.Api

[2459] Assembly: aefwapi (in aefwapi.dll)

[2460] See Also

[2461] Message Members|ActionEngine.Api Namespace

[2462] API Class Library

[2463] Message Members

[2464] Message overview Public Instance Constructors Message Overloaded. Initializes a new instance of the Message class. Public Instance Methods Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetHashCode Serves as a hash function for a (inherited from Object) particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Object) Gets the Type of the current instance. ToString This returns an XML representation of the message. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone Creates a shallow copy of the current (inherited from Object) Object.

[2465] See Also

[2466] Message Class|ActionEngine.Api Namespace

[2467] API Class Library

[2468] Message Constructor

[2469] This constructs a new message with no header and a severity of Misc.

[2470] Overload List

[2471] This constructs a new message with no header and a severity of Misc.

[2472] public Message(string);

[2473] This constructs a new message with no header.

[2474] public Message(string,Severity);

[2475] This constructs a new message with a severity of Misc.

[2476] public Message(string,string);

[2477] This constructs a new message.

[2478] public Message(string,string,Severity);

[2479] See Also

[2480] Message Class|ActionEngine.Api Namespace

[2481] API Class Library

[2482] Message Constructor (String)

[2483] This constructs a new message with no header and a severity of Misc.

[2484] public Message(

[2485] string text

[2486] );

[2487] Parameters

[2488] text

[2489] The message text.

[2490] See Also

[2491] Message Class|ActionEngine.Api Namespace|Message Constructor Overload List

[2492] API Class Library

[2493] Message Constructor (String, String)

[2494] This constructs a new message with a severity of Misc.

[2495] public Message(

[2496] string text,

[2497] string header

[2498] );

[2499] Parameters

[2500] text

[2501] The message text.

[2502] header

[2503] The message header. Some clients display the header at the top of a dialog box, but this is optional (pass null).

[2504] See Also

[2505] Message Class|ActionEngine.Api Namespace|Message Constructor Overload List

[2506] API Class Library

[2507] Message Constructor (String, Severity)

[2508] This constructs a new message with no header.

[2509] public Message(

[2510] string text,

[2511] Severity severity

[2512] );

[2513] Parameters

[2514] text

[2515] The message text.

[2516] severity

[2517] The message severity. Severity is interpreted by some clients to affect the icon in a message box dialog.

[2518] See Also

[2519] Message Class|ActionEngine.Api Namespace|Message Constructor Overload List

[2520] API Class Library

[2521] Message Constructor (String, String, Severity)

[2522] This constructs a new message.

[2523] public Message(

[2524] string text,

[2525] string header,

[2526] Severity severity

[2527] );

[2528] Parameters

[2529] text

[2530] The message text.

[2531] header

[2532] The message header. Some clients display the header at the top of a dialog box, but this is optional (pass null).

[2533] severity

[2534] The message severity. Severity is interpreted by some clients to affect the icon in a message box dialog.

[2535] See Also

[2536] Message Class|ActionEngine.Api Namespace|Message Constructor Overload List

[2537] API Class Library

[2538] Message Methods

[2539] The methods of the Message class are listed below. For a complete list of Message class members, see the Message Members topic. Public Instance Methods Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetHashCode Serves as a hash function for a (inherited from Object) particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Object) Gets the Type of the current instance. ToString This returns an XML representation of the message. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone Creates a shallow copy of the current (inherited from Object) Object.

[2540] See Also

[2541] Message Class|ActionEngine.Api Namespace

[2542] API Class Library

[2543] Message.ToString Method

[2544] This returns an XML representation of the message.

[2545] public override string ToString( );

[2546] Return Value

[2547] An XML representation of the message.

[2548] See Also

[2549] Message Class|ActionEngine.Api Namespace

[2550] API Class Library

[2551] Message.Severity Enumeration

[2552] The enumeration of message severities.

[2553] public enum Message.Severity

[2554] Members Member Name Description Error An error message. Misc A miscellaneous (informational) message.

[2555] Requirements

[2556] Namespace: ActionEngine.Api

[2557] Assembly: aefwapi (in aefwapi.dll)

[2558] See Also

[2559] ActionEngine.Api Namespace

[2560] API Class Library

[2561] MessageResponse Class

[2562] This class represents a message response.

[2563] For a list of all members of this type, see MessageResponse Members.

[2564] System.Object

[2565] Response

[2566] MessageResponse

[2567] public class MessageResponse: Response

[2568] Remarks

[2569] This class represents a message response. Messages are generally displayed on the client as a pop-up dialog.

[2570] Requirements

[2571] Namespace: ActionEngine.Api

[2572] Assembly: aefwapi (in aefwapi.dll)

[2573] See Also

[2574] MessageResponse Members|ActionEngine.Api Namespace|Message

[2575] API Class Library

[2576] MessageResponse Members

[2577] MessageResponse overview Public Instance Constructors MessageResponse Constructor This constructs a message response. Public Instance Methods Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetHashCode Serves as a hash function for a (inherited from Object) particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Object) Gets the Type of the current instance. ToString (inherited from Response) This returns an XML representation of the response. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone Creates a shallow copy of the current (inherited from Object) Object.

[2578] See Also

[2579] MessageResponse Class|ActionEngine.Api Namespace|Message

[2580] API Class Library

[2581] MessageResponse Constructor

[2582] This constructs a message response.

[2583] public MessageResponse(

[2584] Message message

[2585] );

[2586] Parameters

[2587] message

[2588] The message, which cannot be null.

[2589] See Also

[2590] MessageResponse Class|ActionEngine.Api Namespace

[2591] API Class Library

[2592] Phone Class

[2593] This class represents a phone number.

[2594] For a list of all members of this type, see Phone Members.

[2595] System.Object

[2596] FriendlyData

[2597] Phone

[2598] public class Phone: FriendlyData

[2599] Requirements

[2600] Namespace: ActionEngine.Api

[2601] Assembly: aefwapi (in aefwapi.dll)

[2602] See Also

[2603] Phone Members|ActionEngine.Api Namespace|Phones

[2604] API Class Library

[2605] Phone Members

[2606] Phone overview Public Instance Constructors Phone Constructor This constructs a phone entry. Public Instance Properties FriendlyName The friendly name of the user data. (inherited from FriendlyData) Number The phone number itself. PhoneType The type of phone number. Public Instance Methods Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetHashCode Serves as a hash function for a (inherited from Object) particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType Gets the Type of the current instance. (inherited from Object) ToString This returns an XML representation of the phone entry. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone Creates a shallow copy of the current (inherited from Object)

[2607] See Also

[2608] Phone Class|ActionEngine.Api Namespace|Phones

[2609] API Class Library

[2610] Phone Constructor

[2611] This constructs a phone entry.

[2612] public Phone(

[2613] string friendlyName,

[2614] string number

[2615] );

[2616] Parameters

[2617] friendlyName

[2618] The friendly name of the phone number.

[2619] number

[2620] The phone number itself.

[2621] See Also

[2622] Phone Class|ActionEngine.Api Namespace

[2623] API Class Library

[2624] Phone Properties

[2625] The properties of the Phone class are listed below. For a complete list of Phone class members, see the Phone Members topic.

[2626] Public Instance Properties FriendlyName The friendly name of the (inherited from FriendlyData) user data. Number The phone number itself. PhoneType The type of phone number.

[2627] See Also

[2628] Phone Class|ActionEngine.Api Namespace|Phones

[2629] API Class Library

[2630] Phone.Number Property

[2631] The phone number itself.

[2632] public string Number {get; set;}

[2633] See Also

[2634] Phone Class|ActionEngine.Api Namespace

[2635] API Class Library

[2636] Phone.PhoneType Property

[2637] The type of phone number.

[2638] public Phone.Type PhoneType {get; set;}

[2639] See Also

[2640] Phone Class|ActionEngine.Api Namespace

[2641] API Class Library

[2642] Phone Methods

[2643] The methods of the Phone class are listed below. For a complete list of Phone class members, see the Phone Members topic. Public Instance Methods Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetHashCode Serves as a hash function for a (inherited from Object) particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Object) Gets the Type of the current instance. ToString This returns an XML representation of the phone entry. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone Creates a shallow copy of the current (inherited from Object) Object.

[2644] See Also

[2645] Phone Class|ActionEngine.Api Namespace|Phones

[2646] API Class Library

[2647] Phone.ToString Method

[2648] This returns an XML representation of the phone entry.

[2649] public override string ToString( );

[2650] Return Value

[2651] An XML representation of the phone entry.

[2652] See Also

[2653] Phone Class|ActionEngine.Api Namespace

[2654] API Class Library

[2655] Phone.Type Enumeration

[2656] The enumeration of valid phone types.

[2657] public enum Phone.Type

[2658] Members Member Name Description Cell A cell/mobile phone. Land A land line phone (non-mobile). Unknown An unknown or unspecified phone type.

[2659] Requirements

[2660] Namespace: ActionEngine.Api

[2661] Assembly: aefwapi (in aefwapi.dll)

[2662] See Also

[2663] ActionEngine.Api Namespace

[2664] API Class Library

[2665] Phones Class

[2666] This class represents a collection of Phone objects.

[2667] For a list of all members of this type, see Phones Members.

[2668] System.Object

[2669] FriendlyDataSet

[2670] Phones

[2671] public class Phones: FriendlyDataSet

[2672] Requirements

[2673] Namespace: ActionEngine.Api

[2674] Assembly: aefwapi (in aefwapi.dll)

[2675] See Also

[2676] Phones Members|ActionEngine.Api Namespace|Phone

[2677] API Class Library

[2678] Phones Members

[2679] Phones overview Public Instance Constructors Phones Constructor This constructs an empty collection of phones. Public Instance Properties GetPrimary This retrieves the primary phone entry of the collection. Item This retrieves a phone entry by the given friendly name. Public Instance Methods Add This adds a phone entry to the collection. Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetEnumerator This returns an IEnumerator for (inherited from enumerating the collection FriendlyDataSet) of friendly data. GetHashCode Serves as a hash function for a (inherited from Object) particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType Gets the Type of the current instance. (inherited from Object) Remove This removes the phone entry with the given friendly name. SetPrimary (inherited from This sets the primary friendly data FriendlyDataSet) for the collection. This returns an XML ToString (inherited from representation of the friendly data set. FriendlyDataSet) Protected Instance Methods Finalize Allows an Object to attempt to free (inherited from Object) resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone Creates a shallow copy of the (inherited from Object) current Object.

[2680] See Also

[2681] Phones Class|ActionEngine.Api Namespace|Phone

[2682] API Class Library

[2683] Phones Constructor

[2684] This constructs an empty collection of phones.

[2685] public Phones( );

[2686] See Also

[2687] Phones Class|ActionEngine.Api Namespace

[2688] API Class Library

[2689] Phones Properties

[2690] The properties of the Phones class are listed below. For a complete list of Phones class members, see the Phones Members topic.

[2691] Public Instance Properties GetPrimary This retrieves the primary phone entry of the collection. Item This retrieves a phone entry by the given friendly name.

[2692] See Also

[2693] Phones Class|ActionEngine.Api Namespace|Phone

[2694] API Class Library

[2695] Phones.GetPrimary Property

[2696] This retrieves the primary phone entry of the collection.

[2697] public Phone GetPrimary {get;}

[2698] Remarks

[2699] This retrieves the primary phone entry of the collection. If the collection is empty, null is returned.

[2700] See Also

[2701] Phones Class|ActionEngine.Api Namespace

[2702] API Class Library

[2703] Phones.Item Property

[2704] This retrieves a phone entry by the given friendly name.

[2705] public Phone this[

[2706] string friendlyName

[2707] ] {get;}

[2708] Remarks

[2709] This retrieves a phone entry by the given friendly name. If none is found, null is returned.

[2710] See Also

[2711] Phones Class|ActionEngine.Api Namespace

[2712] API Class Library

[2713] Phones Methods

[2714] The methods of the Phones class are listed below. For a complete list of Phones class members, see the Phones Members topic. Public Instance Methods Add This adds a phone entry to the collection. Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetEnumerator This returns an IEnumerator for (inherited from FriendlyDataSet) enumerating the collection of friendly data. GetHashCode Serves as a hash function for a (inherited from Object) particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Object) Gets the Type of the current instance. Remove This removes the phone entry with the given friendly name. SetPrimary This sets the primary friendly data for (inherited from FriendlyDataSet) the collection. ToString This returns an XML representation of (inherited from FriendlyDataSet) the friendly data set. Protected Instance Methods Finalize Allows an Object to attempt to free resources and (inherited from Object) perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone Creates a shallow copy of the current (inherited from Object)

[2715] See Also

[2716] Phones Class|ActionEngine.Api Namespace|Phone

[2717] API Class Library

[2718] Phones.Add Method

[2719] This adds a phone entry to the collection.

[2720] public void Add(

[2721] Phone phone

[2722] );

[2723] Parameters

[2724] phone

[2725] The phone entry to add to the collection.

[2726] See Also

[2727] Phones Class|ActionEngine.Api Namespace

[2728] API Class Library

[2729] Phones.Remove Method

[2730] This removes the phone entry with the given friendly name.

[2731] public Phone Remove(

[2732] string friendlyName

[2733] );

[2734] Parameters

[2735] friendlyName

[2736] The friendly name of the phone to remove.

[2737] Return Value

[2738] The phone removed is returned, or null if not found.

[2739] Remarks

[2740] This removes the phone entry with the given friendly name. If the phone entry is not found, no action is taken. If the phone entry removed was primary, a new one is selected.

[2741] See Also

[2742] Phones Class|ActionEngine.Api Namespace

[2743] API Class Library

[2744] PluginEnvironment Class

[2745] This class represents various aspects of a plugin's environment.

[2746] For a list of all members of this type, see PluginEnvironment Members.

[2747] System.Object

[2748] PluginEnvironment

[2749] public class PluginEnvironment

[2750] Remarks

[2751] This class represents various aspects of a plugin's environment. For example, you can discover your plugin's home directory, obtain a reference to your configuration file, and obtain references to other neighboring .NET assemblies running in the process.

[2752] Any .NET component with a main class that implements IModule can be obtained dynamically by calling one of the GetModules methods of this class. During start-up, all modules are loaded before any service, task, or auth handler requests are processed, and also before ModuleInit is called. If you want to request an IModule during your module's start-up, don't do so in the static constructor of your main class because not all modules are guaranteed to be loaded by then. Instead, wait until ModuleInit is called.

[2753] One situation where dynamically obtaining modules is useful is in creating a library of common code shared by multiple modules. You could create a component of type module, expose one or more interfaces on its main class, and allow other modules in other plugins to use it.

[2754] Another situation where this is useful is in creating a service/vendor type of model. A component of type service could be developed that calls into one or more vendors to do the work where each vendor is abstracted by the same interface. Each vendor, implemented as a separate component of type module, would implement an interface exposed publicly by the service module. After a vendor's ModuleInit method is called (not before—see above), it would call into the service to register itself.

[2755] Requirements

[2756] Namespace: ActionEngine.Api

[2757] Assembly: aefwapi (in aefwapi.dll)

[2758] See Also

[2759] PluginEnvironment Members|ActionEngine.Api Namespace

[2760] API Class Library

[2761] PluginEnvironment Members

[2762] PluginEnvironment overview Public Static Methods GetInstance This returns an instance of the class. GetModules Overloaded. This returns all running modules in the process. Public Static Events DieEvents This event is fired when it's time to shut down the module. Public Instance Properties ComponentId This returns the fully-qualified component ID of the module as defined in the plugin's install.xml file. ConfigFile This returns the plugin's configuration file. HomeDirectory This returns the plugin's home directory, including the terminating backslash. PluginId This returns the plugin ID as defined in the plugin's install.xml file. Public Instance Methods Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetHashCode Serves as a hash function for a particular type, (inherited from Object) suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Object) Gets the Type of the current instance. ToString (inherited from Object) Returns a String that represents the current Object. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone Creates a shallow copy of the (inherited from Object) current Object.

[2763] See Also

[2764] PluginEnvironment Class|ActionEngine.Api Namespace

[2765] API Class Library

[2766] PluginEnvironment Properties

[2767] The properties of the PluginEnvironment class are listed below. For a complete list of PluginEnvironment class members, see the PluginEnvironment Members topic.

[2768] Public Instance Properties ComponentId This returns the fully-qualified component ID of the module as defined in the plugin's install.xml file. ConfigFile This returns the plugin's configuration file. HomeDirectory This returns the plugin's home directory, including the terminating backslash. PluginId This returns the plugin ID as defined in the plugin's install.xml file.

[2769] See Also

[2770] PluginEnvironment Class|ActionEngine.Api Namespace

[2771] API Class Library

[2772] PluginEnvironment.ComponentId Property

[2773] This returns the fully-qualified component ID of the module as defined in the plugin's install.xml file.

[2774] public string ComponentId {get;}

[2775] See Also

[2776] PluginEnvironment Class|ActionEngine.Api Namespace

[2777] API Class Library

[2778] PluginEnvironment.ConfigFile Property

[2779] This returns the plugin's configuration file.

[2780] public ConfigFile ConfigFile {get;}

[2781] Remarks

[2782] This returns the plugin's configuration file. A non-null object is returned regardless of a physical config file existing. See Exists.

[2783] See Also

[2784] PluginEnvironment Class|ActionEngine.Api Namespace

[2785] API Class Library

[2786] PluginEnvironment.HomeDirectory Property

[2787] This returns the plugin's home directory, including the terminating backslash.

[2788] public string HomeDirectory {get;}

[2789] Remarks

[2790] This returns the plugin's home directory, including the terminating backslash. For example, a plugin called “widget” might have a home directory called C:\aeserver\plugins\widget\.

[2791] See Also

[2792] PluginEnvironment Class|ActionEngine.Api Namespace

[2793] API Class Library

[2794] PluginEnvironment.PluginId Property

[2795] This returns the plugin ID as defined in the plugin's install.xml file.

[2796] public string PluginId {get;}

[2797] See Also

[2798] PluginEnvironment Class|ActionEngine.Api Namespace

[2799] API Class Library

[2800] PluginEnvironment Methods

[2801] The methods of the PluginEnvironment class are listed below. For a complete list of PluginEnvironment class members, see the PluginEnvironment Members topic. Public Static Methods GetInstance This returns an instance of the class. GetModules Overloaded. This returns all running modules in the process. Public Instance Methods Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetHashCode Serves as a hash function for a (inherited from Object) particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Object) Gets the Type of the current instance. ToString (inherited from Object) Returns a String that represents the current Object. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone Creates a shallow copy of the current (inherited from Object) Object.

[2802] See Also

[2803] PluginEnvironment Class|ActionEngine.Api Namespace

[2804] API Class Library

[2805] PluginEnvironment.GetInstance Method

[2806] This returns an instance of the class.

[2807] public static PluginEnvironment GetInstance(

[2808] IModule module

[2809] );

[2810] Parameters

[2811] module

[2812] The module.

[2813] Return Value

[2814] An instance of the class.

[2815] See Also

[2816] PluginEnvironment Class|ActionEngine.Api Namespace

[2817] API Class Library

[2818] PluginEnvironment.GetModules Method

[2819] This returns all running modules in the process.

[2820] Overload List

[2821] This returns all running modules in the process.

[2822] public static IModule

GetModules( );

[2823] This returns all running modules in the process filtered by namespace (optional) and interface name (optional).

[2824] public static IModule

GetModules(string,Type);

[2825] See Also

[2826] PluginEnvironment Class|ActionEngine.Api Namespace

[2827] API Class Library

[2828] PluginEnvironment.GetModules Method( )

[2829] This returns all running modules in the process.

[2830] public static IModule

GetModules( );

[2831] Return Value

[2832] An array of IModule, potentially zero in length but never null.

[2833] Remarks

[2834] This returns all running modules in the process. See the class overview for more information.

[2835] See Also

[2836] PluginEnvironment Class|ActionEngine.Api Namespace|PluginEnvironment.GetModules Overload List

[2837] API Class Library

[2838] PluginEnvironment.GetModules Method (String, Type)

[2839] This returns all running modules in the process filtered by namespace (optional) and interface name (optional).

[2840] public static IModule

GetModules(

[2841] string namespace,

[2842] Type interface

[2843] );

[2844] Parameters

[2845] namespace

[2846] The namespace to search for the modules, or null to consider all namespaces. Note that this represents the namespace of the modules being searched, not of the interface.

[2847] interface

[2848] The desired interface, or null for all interfaces.

[2849] Return Value

[2850] An array of IModule, potentially zero in length but never null.

[2851] Remarks

[2852] This returns all running modules in the process filtered by namespace (optional) and interface name (optional). The namespace is a .NET namespace, not to be confused with the framework's user and resource namespaces. See the class overview for more information.

[2853] In this C# example, all modules that exist in the MyCompany.Util namespace are returned that support ISomeInterface. IModule

modules=PluginEnvironment.GetModules( “MyCompany. Util”, typeof(ISomeInterface));

[2854] See Also

[2855] PluginEnvironment Class|ActionEngine.Api Namespace|PluginEnvironment.GetModules Overload List

[2856] API Class Library

[2857] PluginEnvironment Events

[2858] The events of the PluginEnvironment class are listed below. For a complete list of PluginEnvironment class members, see the PluginEnvironment Members topic.

[2859] Public Static Events DieEvents This event is fired when it's time to shut down the module.

[2860] See Also

[2861] PluginEnvironment Class|ActionEngine.Api Namespace

[2862] API Class Library

[2863] PluginEnvironment.DieEvents Event

[2864] This event is fired when it's time to shut down the module.

[2865] public static event DieHandler DieEvents;

[2866] Remarks

[2867] This event is fired when it's time to shut down the module. This is useful if your module has any background threads that need to be told to die to enable graceful shutdown.

[2868] See Also

[2869] PluginEnvironment Class|ActionEngine.Api Namespace

[2870] API Class Library

[2871] RequestProcessor Class

[2872] This class is for internal use only.

[2873] For a list of all members of this type, see RequestProcessor Members.

[2874] System.Object

[2875] RequestProcessor

[2876] public abstract class RequestProcessor

[2877] Requirements

[2878] Namespace: ActionEngine.Api

[2879] Assembly: aefwapi (in aefwapi.dll)

[2880] See Also

[2881] RequestProcessor Members|ActionEngine.Api Namespace

[2882] API Class Library

[2883] RequestProcessor Members

[2884] RequestProcessor overview Public Static Methods Die This is for internal use only. FlushCaches This is for internal use only. Process This is for internal use only. Start This is for internal use only. Public Instance Methods Equals Determines whether the specified (inherited from Object) Object is equal to the current Object. GetHashCode Serves as a hash function for a (inherited from Object) particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Object) Gets the Type of the current instance. ToString (inherited from Object) Returns a String that represents the current Object. Protected Instance Constructors RequestProcessor Constructor Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone Creates a shallow copy of the current (inherited from Object) Object.

[2885] See Also

[2886] RequestProcessor Class|ActionEngine.Api Namespace

[2887] API Class Library

[2888] RequestProcessor Constructor

[2889] protected RequestProcessor( );

[2890] See Also

[2891] RequestProcessor Class|ActionEngine.Api Namespace

[2892] API Class Library

[2893] RequestProcessor Methods

[2894] The methods of the RequestProcessor class are listed below. For a complete list of RequestProcessor class members, see the RequestProcessor Members topic. Public Static Methods Die This is for internal use only. FlushCaches This is for internal use only. Process This is for internal use only. Start This is for internal use only. Public Instance Methods Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetHashCode Serves as a hash function for a (inherited from Object) particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Object) Gets the Type of the current instance. ToString (inherited from Object) Returns a String that represents the current Object. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone Creates a shallow copy of the current (inherited from Object) Object.

[2895] See Also

[2896] RequestProcessor Class|ActionEngine.Api Namespace

[2897] API Class Library

[2898] RequestProcessor.Die Method

[2899] This is for internal use only.

[2900] public static void Die( );

[2901] See Also

[2902] RequestProcessor Class|ActionEngine.Api Namespace

[2903] API Class Library

[2904] RequestProcessor.FlushCaches Method

[2905] This is for internal use only.

[2906] public static void FlushCaches( );

[2907] See Also

[2908] RequestProcessor Class|ActionEngine.Api Namespace

[2909] API Class Library

[2910] RequestProcessor.Process Method

[2911] This is for internal use only.

[2912] public static string Process(

[2913] int componentType,

[2914] string assemblyPath,

[2915] string className,

[2916] string request

[2917] );

[2918] See Also

[2919] RequestProcessor Class|ActionEngine.Api Namespace

[2920] API Class Library

[2921] RequestProcessor.Start Method

[2922] This is for internal use only.

[2923] public static void Start( );

[2924] See Also

[2925] RequestProcessor Class|ActionEngine.Api Namespace

[2926] API Class Library

[2927] Resource Class

[2928] This is the base class for all types of resources.

[2929] For a list of all members of this type, see Resource Members.

[2930] System.Object

[2931] Resource

[2932] public abstract class Resource

[2933] Requirements

[2934] Namespace: ActionEngine.Api

[2935] Assembly: aefwapi (in aefwapi.dll)

[2936] See Also

[2937] Resource Members|ActionEngine.Api Namespace|ResourcesResponse

[2938] API Class Library

[2939] Resource Members

[2940] Resource overview Public Instance Methods Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetHashCode Serves as a hash function for a (inherited from Object) particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Object) Gets the Type of the current instance. ToString This returns an XML representation of Protected Instance Methods the resource. Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone Creates a shallow copy of the current (inherited from Object) Object.

[2941] See Also

[2942] Resource Class|ActionEngine.Api Namespace|ResourcesResponse

[2943] API Class Library

[2944] Resource Methods

[2945] The methods of the Resource class are listed below. For a complete list of Resource class members, see the Resource Members topic. Public Instance Methods Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetHashCode (inherited from Object) Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Object) Gets the Type of the current instance. ToString This returns an XML representation of the resource. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone (inherited from Object) Creates a shallow copy of the current Object.

[2946] See Also

[2947] Resource Class|ActionEngine.Api Namespace|ResourcesResponse

[2948] API Class Library

[2949] Resource.ToString Method

[2950] This returns an XML representation of the resource.

[2951] public override string ToString( );

[2952] Return Value

[2953] An XML representation of the resource.

[2954] See Also

[2955] Resource Class|ActionEngine.Api Namespace

[2956] API Class Library

[2957] Resource.Type Enumeration

[2958] The enumeration of valid resource types.

[2959] public enum Resource.Type

[2960] Members Member Name Description Binary An binary resource. Image An image (graphic) resource.

[2961] Requirements

[2962] Namespace: ActionEngine.Api

[2963] Assembly: aefwapi (in aefwapi.dll)

[2964] See Also

[2965] ActionEngine.Api Namespace

[2966] API Class Library

[2967] ResourceReference Class

[2968] This class represents a resource reference, which is a description or “pointer” to an actual resource.

[2969] For a list of all members of this type, see ResourceReference Members.

[2970] System.Object

[2971] ResourceReference

[2972] public class ResourceReference

[2973] Remarks

[2974] This class represents a resource reference, which is a description or “pointer” to an actual resource. References are created by the service and added to the result returned to the engine. Later, when the engine calls GetResources, one or more resource references are passed as an argument.

[2975] Requirements

[2976] Namespace: ActionEngine.Api

[2977] Assembly: aefwapi (in aefwapi.dll)

[2978] See Also

[2979] ResourceReference Members|ActionEngine.Api Namespace

[2980] API Class Library

[2981] ResourceReference Members

[2982] ResourceReference overview Public Instance Constructors ResourceReference Constructor This constructs a resource reference. Public Instance Properties Cookie The cookie associated with the GetResources protocol. Id The resource ID, chosen by the service. Type The type of resource. Public Instance Methods Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetHashCode (inherited from Object) Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Object) Gets the Type of the current instance. ToString (inherited from Object) Returns a String that represents the current Object. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone (inherited from Object) Creates a shallow copy of the current Object.

[2983] See Also

[2984] ResourceReference Class|ActionEngine.Api Namespace

[2985] API Class Library

[2986] ResourceReference Constructor

[2987] This constructs a resource reference.

[2988] public ResourceReference(

[2989] Type type,

[2990] string id,

[2991] Priority fetchPriority,

[2992] Protocol protocol,

[2993] string protocolData

[2994] );

[2995] Parameters

[2996] type

[2997] The resource type.

[2998] id

[2999] The resource ID, chosen by the service.

[3000] fetchPriority

[3001] The engine's priority for fetching the resource.

[3002] protocol

[3003] The protocol for fetching the resource.

[3004] protocolData

[3005] The data associated with the protocol. If HttpGet, this is the URL that the engine follows. If GetResources, this is a cookie (optional, can be null) that the engine eventually passes back to the service when calling GetResources.

[3006] Exceptions Exception Type Condition ArgumentException This is thrown when the protocol data is invalid.

[3007] See Also

[3008] ResourceReference Class|ActionEngine.Api Namespace

[3009] API Class Library

[3010] ResourceReference Properties

[3011] The properties of the ResourceReference class are listed below. For a complete list of ResourceReference class members, see the ResourceReference Members topic.

[3012] Public Instance Properties Cookie The cookie associated with the GetResources protocol. Id The resource ID, chosen by the service. Type The type of resource.

[3013] See Also

[3014] ResourceReference Class|ActionEngine.Api Namespace

[3015] API Class Library

[3016] ResourceReference.Cookie Property

[3017] The cookie associated with the GetResources protocol.

[3018] public string Cookie {get;}

[3019] Remarks

[3020] The cookie associated with the GetResources protocol. When a cookie is provided in a resource reference in a result returned to the engine, the engine passes it back when calling GetResources.

[3021] See Also

[3022] ResourceReference Class|ActionEngine.Api Namespace

[3023] API Class Library

[3024] ResourceReference.Id Property

[3025] The resource ID, chosen by the service.

[3026] public string Id {get;}

[3027] See Also

[3028] ResourceReference Class|ActionEngine.Api Namespace

[3029] API Class Library

[3030] ResourceReference.Type Property

[3031] The type of resource.

[3032] public Resource.Type Type {get;}

[3033] See Also

[3034] ResourceReference Class|ActionEngine.Api Namespace

[3035] API Class Library

[3036] ResourceReference.Priority Enumeration

[3037] The enumeration of resource fetching priorities.

[3038] public enum ResourceReference.Priority

[3039] Remarks

[3040] The enumeration of resource fetching priorities. When a resource reference is included in a result returned to the engine, the priority determines when the engine will fetch the actual resource. If ClientDriven, the resource is not fetched until the client makes a request for it. All other priorities, however, cause the engine to initiate resource fetching in the background. Then, when the client needs the resource, it will often be pre-fetched in the engine's cache resulting in better performance for the end user.

[3041] The only difference between Low, Medium, and High is that the order in which resources are fetched and cached is done from highest to lowest.

[3042] Members Member Name Description ClientDriven The client initiates the fetching of the resource. Low The engine pre-fetches the resource with a low priority. Medium The engine pre-fetches the resource with a medium priority. High The engine pre-fetches the resource with a high priority.

[3043] Requirements

[3044] Namespace: ActionEngine.Api

[3045] Assembly: aefwapi (in aefwapi.dll)

[3046] See Also

[3047] ActionEngine.Api Namespace

[3048] API Class Library

[3049] ResourceReference. Protocol Enumeration

[3050] The enumeration of resource fetching protocols.

[3051] public enum ResourceReference.Protocol

[3052] Members Member Name Description GetResources The engine calls GetResources to retrieve the resource. HttpGet The engine performs and HTTP “get” to retrieve the resource.

[3053] Requirements

[3054] Namespace: ActionEngine.Api

[3055] Assembly: aefwapi (in aefwapi.dll)

[3056] See Also

[3057] ActionEngine.Api Namespace

[3058] API Class Library

[3059] ResourcesResponse Class

[3060] This class represents a response of zero or more resources.

[3061] For a list of all members of this type, see ResourcesResponse Members.

[3062] System.Object

[3063] Response

[3064] ResourcesResponse

[3065] public class ResourcesResponse: Response

[3066] Remarks

[3067] This class represents a response of zero or more resources. It is used in reply to GetResources.

[3068] Requirements

[3069] Namespace: ActionEngine.Api

[3070] Assembly: aefwapi (in aefwapi.dll)

[3071] See Also

[3072] ResourcesResponse Members|ActionEngine.Api Namespace

[3073] API Class Library

[3074] ResourcesResponse Members

[3075] ResourcesResponse overview Public Instance Constructors ResourcesResponse Overloaded. Initializes a new instance of the ResourcesResponse class. Public Instance Methods AppendResource This appends a resource to the current list. Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetHashCode (inherited from Object) Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Object) Gets the Type of the current instance. ToString (inherited from Response) This returns an XML representation of the response. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone (inherited from Object) Creates a shallow copy of the current Object.

[3076] See Also

[3077] ResourcesResponse Class|ActionEngine.Api Namespace

[3078] API Class Library

[3079] ResourcesResponse Constructor

[3080] This constructs an empty resources response.

[3081] Overload List

[3082] This constructs an empty resources response.

[3083] public ResourcesResponse( );

[3084] This constructs a response with one resource.

[3085] public ResourcesResponse(Resource);

[3086] This constructs a resources response using the given resources.

[3087] public ResourcesResponse(Resource

);

[3088] See Also

[3089] ResourcesResponse Class|ActionEngine.Api Namespace

[3090] API Class Library

[3091] ResourcesResponse Constructor( )

[3092] This constructs an empty resources response.

[3093] public ResourcesResponse( );

[3094] See Also

[3095] ResourcesResponse Class|ActionEngine.Api Namespace|ResourcesResponse Constructor Overload List

[3096] API Class Library

[3097] ResourcesResponse Constructor (Resource)

[3098] This constructs a response with one resource.

[3099] public ResourcesResponse(

[3100] Resource resource

[3101] );

[3102] Parameters

[3103] resource

[3104] The resource. If null, an empty resources response is constructed.

[3105] See Also

[3106] ResourcesResponse Class|ActionEngine.Api Namespace|ResourcesResponse Constructor Overload List

[3107] API Class Library

[3108] ResourcesResponse Constructor (Resource

)

[3109] This constructs a resources response using the given resources.

[3110] public ResourcesResponse(

[3111] Resource

resources

[3112] );

[3113] Parameters

[3114] resources

[3115] The resources, which cannot be null.

[3116] See Also

[3117] ResourcesResponse Class|ActionEngine.Api Namespace|ResourcesResponse Constructor Overload List

[3118] API Class Library

[3119] ResourcesResponse Methods

[3120] The methods of the ResourcesResponse class are listed below. For a complete list of ResourcesResponse class members, see the ResourcesResponse Members topic. Public Instance Methods AppendResource This appends a resource to the current list. Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetHashCode (inherited from Object) Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Object) Gets the Type of the current instance. ToString (inherited from Response) This returns an XML representation of the response. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone (inherited from Object) Creates a shallow copy of the current Object.

[3121] See Also

[3122] ResourcesResponse Class|ActionEngine.Api Namespace

[3123] API Class Library

[3124] ResourcesResponse.AppendResource Method

[3125] This appends a resource to the current list.

[3126] public void AppendResource(

[3127] Resource resource

[3128] );

[3129] Parameters

[3130] resource

[3131] The resource, which cannot be null.

[3132] See Also

[3133] ResourcesResponse Class|ActionEngine.Api Namespace

[3134] API Class Library

[3135] Response Class

[3136] This is the base class for various responses sent to the engine.

[3137] For a list of all members of this type, see Response Members.

[3138] System.Object

[3139] Response

[3140] public abstract class Response

[3141] Requirements

[3142] Namespace: ActionEngine.Api

[3143] Assembly: aefwapi (in aefwapi.dll)

[3144] See Also

[3145] Response Members|ActionEngine.Api Namespace

[3146] API Class Library

[3147] Response Members

[3148] Response overview Public Instance Methods Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetHashCode (inherited from Object) Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Object) Gets the Type of the current instance. ToString This returns an XML representation of the response. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone (inherited from Object) Creates a shallow copy of the current Object.

[3149] See Also

[3150] Response Class|ActionEngine.Api Namespace

[3151] API Class Library

[3152] Response Methods

[3153] The methods of the Response class are listed below. For a complete list of Response class members, see the Response Members topic. Public Instance Methods Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetHashCode (inherited from Object) Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Object) Gets the Type of the current instance. ToString This returns an XML representation of the response. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone (inherited from Object) Creates a shallow copy of the current Object.

[3154] See Also

[3155] Response Class|ActionEngine.Api Namespace

[3156] API Class Library

[3157] Response.ToString Method

[3158] This returns an XML representation of the response.

[3159] public override string ToString( );

[3160] Return Value

[3161] An XML representation of the response.

[3162] See Also

[3163] Response Class|ActionEngine.Api Namespace

[3164] API Class Library

[3165] Result Class

[3166] This class represents a result for managing state in your plugin as well as providing input to various XSLT transformations.

[3167] For a list of all members of this type, see Result Members.

[3168] System.Object

[3169] Result

[3170] public class Result

[3171] Remarks

[3172] This class represents a result for managing state in your plugin as well as providing input to various XSLT transformations. The contents of the document can have any structure you want with two exceptions:

[3173] 1. A child element of the root called fw is reserved for use by the framework.

[3174] 2. Child elements of the root called rsc are reserved for describing resource references.

[3175] Requirements

[3176] Namespace: ActionEngine.Api

[3177] Assembly: aefwapi (in aefwapi.dll)

[3178] See Also

[3179] Result Members|ActionEngine.Api Namespace|AnswersResponse|ConceptsResponse

[3180] API Class Library

[3181] Result Members

[3182] Result overview Public Static Fields ROOT_NAME The name of the root element for any result XML. Public Instance Constructors Result Overloaded. Initializes a new instance of the Result class. Public Instance Properties RootElement This represents the root element of the result XML. Public Instance Methods AppendResourceReference This appends a resource reference to the result. Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetHashCode (inherited from Object) Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Object) Gets the Type of the current instance. ToString This returns a string representation of the result XML. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone (inherited from Object) Creates a shallow copy of the current Object.

[3183] See Also

[3184] Result Class|ActionEngine.Api Namespace|AnswersResponse|ConceptsResponse

[3185] API Class Library

[3186] Result Constructor

[3187] This constructs an empty result.

[3188] Overload List

[3189] This constructs an empty result.

[3190] public Result( );

[3191] This constructs a result from the given XML.

[3192] public Result(string);

[3193] This constructs a result from the given XML.

[3194] public Result(XmlElement);

[3195] See Also

[3196] Result Class|ActionEngine.Api Namespace

[3197] API Class Library

[3198] Result Constructor( )

[3199] This constructs an empty result.

[3200] public Result( );

[3201] See Also

[3202] Result Class|ActionEngine.Api Namespace|Result Constructor Overload List

[3203] API Class Library

[3204] Result Constructor (String)

[3205] This constructs a result from the given XML.

[3206] public Result(

[3207] string xml

[3208] );

[3209] Parameters

[3210] xml

[3211] The result XML, or null for an empty result.

[3212] Remarks

[3213] This constructs a result from the given XML. The name of the root element must be ROOT_NAME.

[3214] Exceptions Exception Type Condition ApplicationException This is thrown when the name of the root element is not ROOT_NAME. XmlException This is thrown when a load or parse error occurs.

[3215] See Also

[3216] Result Class|ActionEngine.Api Namespace|Result Constructor Overload List

[3217] API Class Library

[3218] Result Constructor (XmlElement)

[3219] This constructs a result from the given XML.

[3220] public Result(

[3221] XmlElement root

[3222] );

[3223] Parameters

[3224] root

[3225] The root element of the result.

[3226] Remarks

[3227] This constructs a result from the given XML. The name of the root element must be ROOT_NAME.

[3228] Exceptions Exception Type Condition ApplicationException This is thrown when the name of the root element is not ROOT_NAME.

[3229] See Also

[3230] Result Class|ActionEngine.Api Namespace|Result Constructor Overload List

[3231] API Class Library

[3232] Result Fields

[3233] The fields of the Result class are listed below. For a complete list of Result class members, see the Result Members topic.

[3234] Public Static Fields ROOT_NAME The name of the root element for any result XML.

[3235] See Also

[3236] Result Class|ActionEngine.Api Namespace|AnswersResponse|ConceptsResponse

[3237] API Class Library

[3238] Result.ROOT_NAME Field

[3239] The name of the root element for any result XML.

[3240] public const string ROOT_NAME;

[3241] See Also

[3242] Result Class|ActionEngine.Api Namespace

[3243] API Class Library

[3244] Result Properties

[3245] The properties of the Result class are listed below. For a complete list of Result class members, see the Result Members topic.

[3246] Public Instance Properties RootElement This represents the root element of the result XML.

[3247] See Also

[3248] Result Class|ActionEngine.Api Namespace|AnswersResponse|ConceptsResponse

[3249] API Class Library

[3250] Result.RootElement Property

[3251] This represents the root element of the result XML.

[3252] public System.Xml.XmlElement RootElement {get; set;}

[3253] Remarks

[3254] This represents the root element of the result XML. Null is never allowed or returned. The name of the root element must be ROOT_NAME.

[3255] Exceptions Exception Type Condition ApplicationException This is thrown when the root element name doesn't match ROOT_NAME.

[3256] See Also

[3257] Result Class|ActionEngine.Api Namespace

[3258] API Class Library

[3259] Result Methods

[3260] The methods of the Result class are listed below. For a complete list of Result class members, see the Result Members topic. Public Instance Methods AppendResourceReference This appends a resource reference to the result. Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetHashCode (inherited from Object) Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Object) Gets the Type of the current instance. ToString This returns a string representation of the result XML. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone (inherited from Object) Creates a shallow copy of the current Object.

[3261] See Also

[3262] Result Class|ActionEngine.Api Namespace|AnswersResponse|ConceptsResponse

[3263] API Class Library

[3264] Result.AppendResourceReference Method

[3265] This appends a resource reference to the result.

[3266] public void AppendResourceReference(

[3267] ResourceReference resourceReference

[3268] );

[3269] Parameters

[3270] resourceReference

[3271] The resource reference.

[3272] See Also

[3273] Result Class|ActionEngine.Api Namespace

[3274] API Class Library

[3275] Result.ToString Method

[3276] This returns a string representation of the result XML.

[3277] public override string ToString( );

[3278] Return Value

[3279] A string representation of the result XML.

[3280] See Also

[3281] Result Class|ActionEngine.Api Namespace

[3282] API Class Library

[3283] SupportedAuthDataResponse Class

[3284] This class represents the categories of data supported by the authentication plugin.

[3285] For a list of all members of this type, see SupportedAuthDataResponse Members.

[3286] System.Object

[3287] Response

[3288] SupportedAuthDataResponse

[3289] public class SupportedAuthDataResponse: Response

[3290] Remarks

[3291] This class represents the categories of data supported by the authentication plugin. When a plugin declares a certain category to be supported (or “owned”), the framework delegates management of that data category to the plugin instead of managing the data itself. For example, if a plugin supports the Identity category, the framework will periodically call the plugin to retrieve a user's identity or to modify one or more aspects of it (such as a person's last name).

[3292] Requirements

[3293] Namespace: ActionEngine.Api

[3294] Assembly: aefwapi (in aefwapi.dll)

[3295] See Also

[3296] SupportedAuthDataResponse Members|ActionEngine.Api Namespace

[3297] API Class Library

[3298] SupportedAuthDataResponse Members

[3299] SupportedAuthDataResponse overview Public Instance Constructors SupportedAuthDataResponse Constructor This constructs a response based on the given data. Public Instance Methods Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetHashCode (inherited from Object) Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Object) Gets the Type of the current instance. ToString (inherited from Response) This returns an XML representation of the response. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone (inherited from Object) Creates a shallow copy of the current Object.

[3300] See Also

[3301] SupportedAuthDataResponse Class|ActionEngine.Api Namespace

[3302] API Class Library

[3303] SupportedAuthDataResponse Constructor

[3304] This constructs a response based on the given data.

[3305] public SupportedAuthDataResponse(

[3306] Data supported

[3307] );

[3308] Parameters

[3309] supported

[3310] The supported data. To support more than one category, “or” them together.

[3311] See Also

[3312] SupportedAuthDataResponse Class|ActionEngine.Api Namespace

[3313] API Class Library

[3314] SupportedAuthDataResponse.Data Enumeration

[3315] The enumeration of valid data categories.

[3316] public enum SupportedAuthDataResponse.Data

[3317] Members Member Name Description AddressesAndCards Addresses and credit cards are supported. The two categories are linked because credit cards depend on addresses. Emails E-mail addresses are supported. Identity Identities (peoples' names) are supported. LogOn Whenever a user requires authentication, LogOn is called regardless of your support for Password. In the case of supporting LogOn but not Password, the framework calls your LogOn method, then authenticates the password itself. Supporting both LogOn and Password is equivalent to just supporting Password. Password Password management is supported. Phones Phone numbers are supported. SignupConcepts Custom sign-up concepts are supported. SilentSignup The process of silently signing up is supported.

[3318] Requirements

[3319] Namespace: ActionEngine.Api

[3320] Assembly: aefwapi (in aefwapi.dll)

[3321] See Also

[3322] ActionEngine.Api Namespace

[3323] API Class Library

[3324] ThreadStorage Class

[3325] This class manages framework-related storage for the current thread, and provides a way to spawn new threads while passing along the parent's thread storage.

[3326] For a list of all members of this type, see ThreadStorage Members.

[3327] System.Object

[3328] ThreadStorage

[3329] public class ThreadStorage

[3330] Remarks

[3331] This class manages framework-related storage for the current thread, and provides a way to spawn new threads while passing along the parent's thread storage.

[3332] Because thread-local storage is used by the framework, IT IS CRITICAL that your plugin calls CreateThread to create all new threads. Otherwise, any threads you spawn on your own won't have storage that's needed by the framework, such as trace information.

[3333] Requirements

[3334] Namespace: ActionEngine.Api

[3335] Assembly: aefwapi (in aefwapi.dll)

[3336] See Also

[3337] ThreadStorage Members|ActionEngine.Api Namespace|Tracer

[3338] API Class Library

[3339] ThreadStorage Members

[3340] ThreadStorage overview Public Static Methods CreateThread This creates and starts a Thread using the given delegate. Public Instance Methods Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetHashCode (inherited from Object) Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Object) Gets the Type of the current instance. ToString (inherited from Object) Returns a String that represents the current Object. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone (inherited from Object) Creates a shallow copy of the current Object.

[3341] See Also

[3342] ThreadStorage Class|ActionEngine.Api Namespace|Tracer

[3343] API Class Library

[3344] ThreadStorage Methods

[3345] The methods of the ThreadStorage class are listed below. For a complete list of ThreadStorage class members, see the ThreadStorage Members topic. Public Static Methods CreateThread This creates and starts a Thread using the given delegate. Public Instance Methods Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetHashCode (inherited from Object) Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Object) Gets the Type of the current instance. ToString (inherited from Object) Returns a String that represents the current Object. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone (inherited from Object) Creates a shallow copy of the current Object.

[3346] See Also

[3347] ThreadStorage Class|ActionEngine.Api Namespace|Tracer

[3348] API Class Library

[3349] ThreadStorage.CreateThread Method

[3350] This creates and starts a Thread using the given delegate.

[3351] public static Thread CreateThread(

[3352] ThreadStart start

[3353] );

[3354] Parameters

[3355] start

[3356] The method that executes on the new thread.

[3357] Return Value

[3358] The new running thread.

[3359] Remarks

[3360] This creates and starts a Thread using the given delegate. The new thread's local storage is set up based on the parent's thread storage, and the running thread is returned.

[3361] See Also

[3362] ThreadStorage Class|ActionEngine.Api Namespace

[3363] API Class Library

[3364] Tracer Class

[3365] This class is used to add trace information to the response sent to the engine.

[3366] For a list of all members of this type, see Tracer Members.

[3367] System.Object

[3368] Tracer

[3369] public abstract class Tracer

[3370] Remarks

[3371] This class is used to add trace information to the response sent to the engine. The engine then places the trace information in a trace queue, and in some environments the queue is dumped into a database where the administration web site allows browsing of the data.

[3372] When you make calls to trace, the information is added to thread-local storage until a reply is sent to the engine. Because thread-local storage is used, and because there is nothing stopping you from spawning your own threads, IT IS CRITICAL that you use the ThreadStorage class to create all new threads you need to use. Otherwise, any threads you spawn will not retain trace information.

[3373] Requirements

[3374] Namespace: ActionEngine.Api

[3375] Assembly: aefwapi (in aefwapi.dll)

[3376] See Also

[3377] Tracer Members|ActionEngine.Api Namespace|ThreadStorage

[3378] API Class Library

[3379] Tracer Members

[3380] Tracer overview Public Static Properties WriteDirect This affects whether individual traces accumulate in a buffer, or if each trace is written directly to the trace queue. Public Static Methods Trace Overloaded. This traces the given information. Public Instance Methods Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetHashCode (inherited from Object) Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Object) Gets the Type of the current instance. ToString (inherited from Object) Returns a String that represents the current Object. Protected Instance Constructors Tracer Constructor Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone (inherited from Object) Creates a shallow copy of the current Object.

[3381] See Also

[3382] Tracer Class|ActionEngine.Api Namespace|ThreadStorage

[3383] API Class Library

[3384] Tracer Constructor

[3385] protected Tracer( );

[3386] See Also

[3387] Tracer Class|ActionEngine.Api Namespace

[3388] API Class Library

[3389] Tracer Properties

[3390] The properties of the Tracer class are listed below. For a complete list of Tracer class members, see the Tracer Members topic.

[3391] Public Static Properties WriteDirect This affects whether individual traces accumulate in a buffer, or if each trace is written directly to the trace queue.

[3392] See Also

[3393] Tracer Class|ActionEngine.Api Namespace|ThreadStorage

[3394] API Class Library

[3395] Tracer.WriteDirect Property

[3396] This affects whether individual traces accumulate in a buffer, or if each trace is written directly to the trace queue.

[3397] public static bool WriteDirect {get; set;}

[3398] Remarks

[3399] In general, plugins will not need to set this value. By default, most commands that a plugin processes come from the engine in which case using buffered tracing is highly desired to enable trace “squeezing” in the engine when a successful transaction occurs.

[3400] However, there are times when writing directly to the trace queue is desired. If your plugin spawns a long-running background thread unrelated to a user-initiated command, setting WriteDirect to true *in that thread* will ensure any tracing done by that thread will write directly to the trace queue.

[3401] Note that this setting affects thread local storage and is therefore inherited by child threads when calling ThreadStorage.CreateThread.

[3402] See Also

[3403] Tracer Class|ActionEngine.Api Namespace

[3404] API Class Library

[3405] Tracer Methods

[3406] The methods of the Tracer class are listed below. For a complete list of Tracer class members, see the Tracer Members topic. Public Static Methods Trace Overloaded. This traces the given information. Public Instance Methods Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetHashCode (inherited from Object) Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Object) Gets the Type of the current instance. ToString (inherited from Object) Returns a String that represents the current Object. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone (inherited from Object) Creates a shallow copy of the current Object.

[3407] See Also

[3408] Tracer Class|ActionEngine.Api Namespace ThreadStorage

[3409] API Class Library

[3410] Tracer.Trace Method

[3411] This traces the given information.

[3412] Overload List

[3413] This traces the given information.

[3414] public static void Trace(object,Level,string);

[3415] This traces the given information.

[3416] public static void Trace(object,Exception);

[3417] This traces the given information.

[3418] public static void Trace(string,Level,string);

[3419] This traces the given information.

[3420] public static void Trace(string,Exception);

[3421] See Also

[3422] Tracer Class|ActionEngine.Api Namespace

[3423] API Class Library

[3424] Tracer.Trace Method (Object, Level, String)

[3425] This traces the given information.

[3426] public static void Trace(

[3427] object module,

[3428] Level level,

[3429] string message

[3430] );

[3431] Parameters

[3432] module

[3433] The module doing the tracing.

[3434] level

[3435] The level assigned to the trace message.

[3436] message

[3437] The message to trace.

[3438] See Also

[3439] Tracer Class|ActionEngine.Api Namespace Tracer.Trace Overload List

[3440] API Class Library

[3441] Tracer.Trace Method (Object, Exception)

[3442] This traces the given information.

[3443] public static void Trace(

[3444] object module,

[3445] Exception exception

[3446] );

[3447] Parameters

[3448] module

[3449] The module doing the tracing.

[3450] exception

[3451] The exception to trace.

[3452] See Also

[3453] Tracer Class|ActionEngine.Api Namespace|Tracer.Trace Overload List

[3454] API Class Library

[3455] Tracer.Trace Method (String, Level, String)

[3456] This traces the given information.

[3457] public static void Trace(

[3458] string moduleName,

[3459] Level level,

[3460] string message

[3461] );

[3462] Parameters

[3463] moduleName

[3464] The name of the module doing the tracing.

[3465] level

[3466] The level assigned to the trace message.

[3467] message

[3468] The message to trace.

[3469] See Also

[3470] Tracer Class|ActionEngine.Api Namespace|Tracer.Trace Overload List

[3471] API Class Library

[3472] Tracer.Trace Method (String, Exception)

[3473] This traces the given information.

[3474] public static void Trace(

[3475] string moduleName,

[3476] Exception exception

[3477] );

[3478] Parameters

[3479] moduleName

[3480] The name of the module doing the tracing.

[3481] exception

[3482] The exception to trace.

[3483] See Also

[3484] Tracer Class|ActionEngine.Api Namespace|Tracer.Trace Overload List

[3485] API Class Library

[3486] Tracer.Level Enumeration

[3487] The enumeration of valid trace levels.

[3488] public enum Tracer.Level

[3489] Members Member Name Description Debug Debug information. Error Error information. Misc Miscellaneous information. Perf Performance-related information, such as an activity taking an unusually long time. Warning Warning information.

[3490] Requirements

[3491] Namespace: ActionEngine.Api

[3492] Assembly: aefwapi (in aefwapi.dll)

[3493] See Also

[3494] ActionEngine.Api Namespace

[3495] API Class Library

[3496] User Class

[3497] This class represents an end user of the framework.

[3498] For a list of all members of this type, see User Members.

[3499] System.Object

[3500] User

[3501] public class User

[3502] Requirements

[3503] Namespace: ActionEngine.Api

[3504] Assembly: aefwapi (in aefwapi.dll)

[3505] See Also

[3506] User Members|ActionEngine.Api Namespace

[3507] API Class Library

[3508] User Members

[3509] User overview Public Instance Properties Addresses The user's addresses. CreditCards The user's credit cards. Devices The user's client devices. Emails The user's e-mail addresses. Handle A time-sensitive handle. Identity The user's identity (first name, last name, etc.). Password The user's password. Phones The user's phone numbers. UserName The user's user name. Public Instance Methods Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetHashCode (inherited from Object) Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Object) Gets the Type of the current instance. ToString (inherited from Object) Returns a String that represents the current Object. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone (inherited from Object) Creates a shallow copy of the current Object.

[3510] See Also

[3511] User Class|ActionEngine.Api Namespace

[3512] API Class Library

[3513] User Properties

[3514] The properties of the User class are listed below. For a complete list of User class members, see the User Members topic.

[3515] Public Instance Properties Addresses The user's addresses. CreditCards The user's credit cards. Devices The user's client devices. Emails The user's e-mail addresses. Handle A time-sensitive handle. Identity The user's identity (first name, last name, etc.). Password The user's password. Phones The user's phone numbers. UserName The user's user name.

[3516] See Also

[3517] User Class|ActionEngine.Api Namespace

[3518] API Class Library

[3519] User.Addresses Property

[3520] The user's addresses.

[3521] public Addresses Addresses {get;}

[3522] Remarks

[3523] This is never null.

[3524] See Also

[3525] User Class|ActionEngine.Api Namespace

[3526] API Class Library

[3527] User.CreditCards Property

[3528] The user's credit cards.

[3529] public CreditCards CreditCards {get;}

[3530] Remarks

[3531] This is never null.

[3532] See Also

[3533] User Class|ActionEngine.Api Namespace

[3534] API Class Library

[3535] User.Devices Property

[3536] The user's client devices.

[3537] public Devices Devices {get;}

[3538] Remarks

[3539] This is never null.

[3540] See Also

[3541] User Class|ActionEngine.Api Namespace

[3542] API Class Library

[3543] User.Emails Property

[3544] The user's e-mail addresses.

[3545] public Emails Emails {get;}

[3546] Remarks

[3547] This is never null.

[3548] See Also

[3549] User Class|ActionEngine.Api Namespace

[3550] API Class Library

[3551] User.Handle Property

[3552] A time-sensitive handle.

[3553] public string Handle {get;}

[3554] See Also

[3555] User Class|ActionEngine.Api Namespace

[3556] API Class Library

[3557] User.Identity Property

[3558] The user's identity (first name, last name, etc.).

[3559] public Identity Identity {get;}

[3560] Remarks

[3561] This is never null.

[3562] See Also

[3563] User Class|ActionEngine.Api Namespace

[3564] API Class Library

[3565] User.Password Property

[3566] The user's password.

[3567] public string Password {get;}

[3568] Remarks

[3569] The password is null when not provided by the framework.

[3570] See Also

[3571] User Class|ActionEngine.Api Namespace

[3572] API Class Library

[3573] User.Phones Property

[3574] The user's phone numbers.

[3575] public Phones Phones {get;}

[3576] Remarks

[3577] This is never null.

[3578] See Also

[3579] User Class|ActionEngine.Api Namespace

[3580] API Class Library

[3581] User.UserName Property

[3582] The user's user name.

[3583] public UserName UserName {get;}

[3584] Remarks

[3585] This is never null.

[3586] See Also

[3587] User Class|ActionEngine.Api Namespace

[3588] API Class Library

[3589] UserDataResponse Class

[3590] This class represents a user data response.

[3591] For a list of all members of this type, see UserDataResponse Members.

[3592] System.Object

[3593] Response

[3594] UserDataResponse

[3595] public class UserDataResponse: Response

[3596] Remarks

[3597] This class represents a user data response. By default, all properties on this class are set to null.

[3598] Requirements

[3599] Namespace: ActionEngine.Api

[3600] Assembly: aefwapi (in aefwapi.dll)

[3601] See Also

[3602] UserDataResponse Members|ActionEngine.Api Namespace|GetUserData

[3603] API Class Library

[3604] UserDataResponse Members

[3605] UserDataResponse overview Public Instance Constructors UserDataResponse Constructor This constructs and empty user data response. Public Instance Properties Addresses The user's addresses. CreditCards The user's credit cards. Emails The user's e-mail addresses. Identity The user's identity. Phones The user's phone entries. Public Instance Methods Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetHashCode (inherited from Object) Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Object) Gets the Type of the current instance. ToString (inherited from Response) This returns an XML representation of the response. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone (inherited from Object) Creates a shallow copy of the current Object.

[3606] See Also

[3607] UserDataResponse Class|ActionEngine.Api Namespace|GetUserData

[3608] API Class Library

[3609] UserDataResponse Constructor

[3610] This constructs and empty user data response.

[3611] public UserDataResponse( );

[3612] See Also

[3613] UserDataResponse Class|ActionEngine.Api Namespace

[3614] API Class Library

[3615] UserDataResponse Properties

[3616] The properties of the UserDataResponse class are listed below. For a complete list of UserDataResponse class members, see the UserDataResponse Members topic.

[3617] Public Instance Properties Addresses The user's addresses. CreditCards The user's credit cards. Emails The user's e-mail addresses. Identity The user's identity. Phones The user's phone entries.

[3618] See Also

[3619] UserDataResponse Class|ActionEngine.Api Namespace|GetUserData

[3620] API Class Library

[3621] UserDataResponse.Addresses Property

[3622] The user's addresses.

[3623] public Addresses Addresses {get; set;}

[3624] Remarks

[3625] The user's addresses. Can be null.

[3626] See Also

[3627] UserDataResponse Class|ActionEngine.Api Namespace

[3628] API Class Library

[3629] UserDataResponse.CreditCards Property

[3630] The user's credit cards.

[3631] public CreditCards CreditCards {get; set;}

[3632] Remarks

[3633] The user's credit cards. Can be null.

[3634] See Also

[3635] UserDataResponse Class|ActionEngine.Api Namespace

[3636] API Class Library

[3637] UserDataResponse.Emails Property

[3638] The user's e-mail addresses.

[3639] public Emails Emails {get; set;}

[3640] Remarks

[3641] The user's e-mail addresses. Can be null.

[3642] See Also

[3643] UserDataResponse Class|ActionEngine.Api Namespace

[3644] API Class Library

[3645] UserDataResponse.Identity Property

[3646] The user's identity.

[3647] public Identity Identity {get; set;}

[3648] Remarks

[3649] The user's identity. Can be null.

[3650] See Also

[3651] UserDataResponse Class|ActionEngine.Api Namespace

[3652] API Class Library

[3653] UserDataResponse.Phones Property

[3654] The user's phone entries.

[3655] public Phones Phones {get; set;}

[3656] Remarks

[3657] The user's phone entries. Can be null.

[3658] See Also

[3659] UserDataResponse Class|ActionEngine.Api Namespace

[3660] API Class Library

[3661] UserDocument Class

[3662] This class provides functionality for processing user documents.

[3663] For a list of all members of this type, see UserDocument Members.

[3664] System.Object

[3665] UserDocument

[3666] public abstract class UserDocument

[3667] Remarks

[3668] This class provides functionality for processing user documents. A user document is a string stored per user. Documents are referenced by a document ID and password.

[3669] For security reasons, documents cannot be created through this class. To create a document, use the administration web site to create a new document ID and password. Or, to automate the creation of documents at plugin install time, add one or more <userDoc>sections to install.xml as follows:

[3670] <install><userDoc id=“My Doc 1” password=“My Password 1”/><userDoc id=“My Doc 2” password=“My Password 2”/> . . . etc . . . </install>

[3671] Using the install.xml-based approach, when the plugin is installed, if a document with the given document ID already exists, no action is taken. If the document ID does not exist, it is created and assigned the given password.

[3672] Because user documents are defined solely by a document ID and password, they can be shared across plugins and namespaces.

[3673] Requirements

[3674] Namespace: ActionEngine.Api

[3675] Assembly: aefwapi (in aefwapi.dll)

[3676] See Also

[3677] UserDocument Members|ActionEngine.Api Namespace|UserDocumentException

[3678] API Class Library

[3679] UserDocument Members

[3680] UserDocument overview Public Static Methods DeleteDocument This deletes a user document. GetDocument This retrievs a user document. SetDocument This sets a document for a user. SetDocumentPassword This sets the password for a document ID. Public Instance Methods Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetHashCode (inherited from Object) Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Object) Gets the Type of the current instance. ToString (inherited from Object) Returns a String that represents the current Object. Protected Instance Constructors UserDocument Constructor Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone (inherited from Object) Creates a shallow copy of the current Object.

[3681] See Also

[3682] UserDocument Class|ActionEngine.Api Namespace|UserDocumentException

[3683] API Class Library

[3684] UserDocument Constructor

[3685] protected UserDocument( );

[3686] See Also

[3687] UserDocument Class|ActionEngine.Api Namespace

[3688] API Class Library

[3689] UserDocument Methods

[3690] The methods of the UserDocument class are listed below. For a complete list of UserDocument class members, see the UserDocument Members topic. Public Static Methods DeleteDocument This deletes a user document. GetDocument This retrievs a user document. SetDocument This sets a document for a user. SetDocumentPassword This sets the password for a document ID. Public Instance Methods Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetHashCode (inherited from Object) Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Object) Gets the Type of the current instance. ToString (inherited from Object) Returns a String that represents the current Object. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone (inherited from Object) Creates a shallow copy of the current Object.

[3691] See Also

[3692] UserDocument Class|ActionEngine.Api Namespace|UserDocumentException

[3693] API Class Library

[3694] UserDocument.DeleteDocument Method

[3695] This deletes a user document.

[3696] public static void DeleteDocument(

[3697] string docId,

[3698] string docPassword

[3699] );

[3700] Parameters

[3701] docId

[3702] The document ID.

[3703] docPassword

[3704] The document password.

[3705] Exceptions Exception Type Condition UserDocumentException This is thrown when a document-related error occurs.

[3706] See Also

[3707] UserDocument Class|ActionEngine.Api Namespace

[3708] API Class Library

[3709] UserDocument.GetDocument Method

[3710] This retrievs a user document.

[3711] public static string GetDocument(

[3712] string docId,

[3713] string docPassword,

[3714] UserName userName,

[3715] string userHandle

[3716] );

[3717] Parameters

[3718] docId

[3719] The document ID.

[3720] docPassword

[3721] The document password.

[3722] userName

[3723] The user name.

[3724] userHandle

[3725] The user's handle. See Handle.

[3726] Return Value

[3727] The document, or the empty string if the user has no instance of the document.

[3728] Remarks

[3729] This retrievs a user document. If the document definition exists but the user has no instance of the document, an empty string “ ” is returned.

[3730] Exceptions Exception Type Condition UserDocumentException This is thrown when a document-related error occurs.

[3731] See Also

[3732] UserDocument Class|ActionEngine.Api Namespace

[3733] API Class Library

[3734] UserDocument.SetDocument Method

[3735] This sets a document for a user.

[3736] public static void SetDocument(

[3737] string docId,

[3738] string docPassword,

[3739] UserName userName,

[3740] string userHandle,

[3741] string doc

[3742] );

[3743] Parameters

[3744] docId

[3745] The document ID.

[3746] docPassword

[3747] The document password.

[3748] userName

[3749] The user name.

[3750] userHandle

[3751] The user's handle. See Handle.

[3752] doc

[3753] The document content.

[3754] Remarks

[3755] This sets a document for a user. The document ID and password must already exist by creating it using the administration web site or by install.xml.

[3756] Exceptions Exception Type Condition UserDocumentException This is thrown when a document-related error occurs.

[3757] See Also

[3758] UserDocument Class|ActionEngine.Api Namespace

[3759] API Class Library

[3760] UserDocument.SetDocumentPassword Method

[3761] This sets the password for a document ID.

[3762] public static void SetDocumentPassword(

[3763] string docId,

[3764] string docPassword,

[3765] string newPassword

[3766] );

[3767] Parameters

[3768] docId

[3769] The document ID.

[3770] docPassword

[3771] The old document password.

[3772] newPassword

[3773] The new document password.

[3774] Remarks

[3775] This sets the password for a document ID. The existing password, docPassword, must match in order to have authority to set the new password.

[3776] Exceptions Exception Type Condition UserDocumentException This is thrown when a document-related error occurs.

[3777] See Also

[3778] UserDocument Class|ActionEngine.Api Namespace

[3779] API Class Library

[3780] UserDocumentException Class

[3781] This exception class relates to the processing of user documents.

[3782] For a list of all members of this type, see UserDocumentException Members.

[3783] System.Object

[3784] Exception

[3785] ApplicationException

[3786] UserDocumentException

[3787] public class UserDocumentException: ApplicationException

[3788] Requirements

[3789] Namespace: ActionEngine.Api

[3790] Assembly: aefwapi (in aefwapi.dll)

[3791] See Also

[3792] UserDocumentException Members|ActionEngine.Api Namespace|UserDocument

[3793] API Class Library

[3794] UserDocumentException Members

[3795] UserDocumentException overview Public Instance Properties HelpLink (inherited from Exception) Gets or sets a link to the help file associated with this exception. InnerException (inherited from Exception) Gets the Exception instance that caused the current exception. Message The text of the user document error message. Source (inherited from Exception) Gets or sets the name of the application or the object that causes the error. StackTrace (inherited from Exception) Gets a string representation of the frames on the call stack at the time the current exception was thrown. TargetSite (inherited from Exception) Gets the method that throws the current exception. TheCode The error code of the user document error. Public Instance Methods Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetBaseException (inherited from Exception) When overridden in a derived class, returns the Exception that is the root cause of one or more subsequent exceptions. GetHashCode (inherited from Object) Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table. GetObjectData (inherited from Exception) When overridden in a derived class, sets the SerializationInfo with information about the exception. GetType (inherited from Object) Gets the Type of the current instance. ToString (inherited from Exception) Creates and returns a string representation of the current exception. Protected Instance Properties HResult (inherited from Exception) Gets or sets HRESULT, a coded numerical value that is assigned to a specific exception. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone (inherited from Object) Creates a shallow copy of the current Object.

[3796] See Also

[3797] UserDocumentException Class|ActionEngine.Api Namespace|UserDocument

[3798] API Class Library

[3799] UserDocumentException Properties

[3800] The properties of the UserDocumentException class are listed below. For a complete list of UserDocumentException class members, see the UserDocumentException Members topic. Public Instance Properties HelpLink (inherited from Exception) Gets or sets a link to the help file associated with this exception. InnerException (inherited from Exception) Gets the Exception instance that caused the current exception. Message The text of the user document error message. Source (inherited from Exception) Gets or sets the name of the application or the object that causes the error. StackTrace (inherited from Exception) Gets a string representation of the frames on the call stack at the time the current exception was thrown. TargetSite (inherited from Exception) Gets the method that throws the current exception. TheCode The error code of the user document error. Protected Instance Properties HResult (inherited from Exception) Gets or sets HRESULT, a coded numerical value that is assigned to a specific exception.

[3801] See Also

[3802] UserDocumentException Class|ActionEngine.Api Namespace|UserDocument

[3803] API Class Library

[3804] UserDocumentException.Message Property

[3805] The text of the user document error message.

[3806] public override string Message {get;}

[3807] See Also

[3808] UserDocumentException Class|ActionEngine.Api Namespace

[3809] API Class Library

[3810] UserDocumentException.TheCode Property

[3811] The error code of the user document error.

[3812] public UserDocumentException.Code TheCode {get;}

[3813] See Also

[3814] UserDocumentException Class ActionEngine.Api Namespace

[3815] API Class Library

[3816] UserDocumentException.Code Enumeration

[3817] The enumeration of error codes related to this exception.

[3818] public enum UserDocumentException.Code

[3819] Members Member Name Description E_BAD_DOC_ID_OR_PASSWORD The document ID or password is invalid. E_BAD_NEW_PASSWORD The new password is invalid. E_BAD_USER_NAME_OR_HANDLE The user name or handle is invalid. E_DOC_EXISTS The document already exists. E_FAIL A generic error was encountered.

[3820] Requirements

[3821] Namespace: ActionEngine.Api

[3822] Assembly: aefwapi (in aefwapi.dll)

[3823] See Also

[3824] ActionEngine.Api Namespace

[3825] API Class Library

[3826] UserName Class

[3827] This class represents a user name.

[3828] For a list of all members of this type, see UserName Members.

[3829] System Object

[3830] UserName

[3831] public class UserName

[3832] Remarks

[3833] This class represents a user name. The “long” version of a user name includes the user's namespace. The “short” version does not.

[3834] The long user name is typically more useful because it is unique per server installation, regardless of the number of user namespaces installed. Long user names are not displayed to end users.

[3835] The short user name is appropriate for showing to end users, but is not guaranteed to be unique across all namespaces.

[3836] Requirements

[3837] Namespace: ActionEngine.Api

[3838] Assembly: aefwapi (in aefwapi.dll)

[3839] See Also

[3840] UserName Members|ActionEngine.Api Namespace

[3841] API Class Library

[3842] UserName Members

[3843] UserName overview Public Instance Constructors UserName Overloaded. Initializes a new instance of the UserName class. Public Instance Properties Long The long user name, which includes the user namespace. Namespace The user namespace. Short The short user name, which includes no user namespace. Public Instance Methods Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetHashCode (inherited from Object) Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Object) Gets the Type of the current instance. ToString (inherited from Object) Returns a String that represents the current Object. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone (inherited from Object) Creates a shallow copy of the current Object.

[3844] See Also

[3845] UserName Class|ActionEngine.Api Namespace

[3846] API Class Library

[3847] UserName Constructor

[3848] This constructs a UserName from the given long user name.

[3849] Overload List

[3850] This constructs a UserName from the given long user name.

[3851] public UserName(string);

[3852] This constructs a UserName from the given namespace and short user name.

[3853] public UserName(string,string);

[3854] See Also

[3855] UserName Class|ActionEngine.Api Namespace

[3856] API Class Library

[3857] UserName Constructor (String)

[3858] This constructs a UserName from the given long user name.

[3859] public UserName(

[3860] string longUserName

[3861] );

[3862] Parameters

[3863] longUserName

[3864] The long user name, which includes the user namespace.

[3865] See Also

[3866] UserName Class|ActionEngine.Api Namespace|UserName Constructor Overload List

[3867] API Class Library

[3868] UserName Constructor (String, String)

[3869] This constructs a UserName from the given namespace and short user name.

[3870] public UserName(

[3871] string namespace,

[3872] string shortUserName

[3873] );

[3874] Parameters

[3875] namespace

[3876] The user namespace.

[3877] shortUserName

[3878] The short user name, which includes no user namespace.

[3879] See Also

[3880] UserName Class|ActionEngine.Api Namespace|UserName Constructor Overload List

[3881] API Class Library

[3882] UserName Properties

[3883] The properties of the UserName class are listed below. For a complete list of UserName class members, see the UserName Members topic.

[3884] Public Instance Properties Long The long user name, which includes the user namespace. Namespace The user namespace. Short The short user name, which includes no user namespace.

[3885] See Also

[3886] UserName Class|ActionEngine.Api Namespace

[3887] API Class Library

[3888] UserName.Long Property

[3889] The long user name, which includes the user namespace.

[3890] public string Long {get;}

[3891] See Also

[3892] UserName Class|ActionEngine.Api Namespace

[3893] API Class Library

[3894] UserName.Namespace Property

[3895] The user namespace.

[3896] public string Namespace {get;}

[3897] See Also

[3898] UserName Class|ActionEngine.Api Namespace

[3899] API Class Library

[3900] UserName.Short Property

[3901] The short user name, which includes no user namespace.

[3902] public string Short {get;}

[3903] See Also

[3904] UserName Class|ActionEngine.Api Namespace

[3905] API Class Library

[3906] ActionEngine.Api.Schedule Namespace

[3907] Namespace hierarchy Classes Class Description DailyMoment This class represents a moment that occurs at a certain time on certain days of the week. DailyRecurring This class represents a moment that occurs every N minutes, bounded by a start time and duration, on certain days of the week. FeatureSchedule This class represents a feature schedule. MonthlyMoment This class represents a moment that occurs at a certain time once a month. Schedule This class represents a schedule of one-time and recurring moments. Scheduler This class is responsible for managing schedules related to tasks and feature commands. TaskSchedule This class represents a task schedule. Interfaces Interface Description ITask This interface represents a task, which is called into by the framework based on a schedule. Enumerations Enumeration Description DaysOfWeek The enumeration of days in a week.

[3908] API Class Library

[3909] DailyMoment Class

[3910] This class represents a moment that occurs at a certain time on certain days of the week.

[3911] For a list of all members of this type, see DailyMoment Members.

[3912] System.Object

[3913] DailyMoment

[3914] public class DailyMoment

[3915] Requirements

[3916] Namespace: ActionEngine.Api.Schedule

[3917] Assembly: aefwapi (in aefwapi.dll)

[3918] See Also

[3919] DailyMoment Members|ActionEngine.Api.Schedule Namespace

[3920] API Class Library

[3921] DailyMoment Members

[3922] DailyMoment overview Public Instance Constructors DailyMoment Overloaded. Initializes a new instance of the DailyMoment class. Public Instance Properties DaysOfWeek This returns the days of the week for the daily moment. MidnightOffset This returns the midnight offset for the daily moment. Public Instance Methods Equals This compares two daily moments for equality. GetHashCode This returns a hash code for the daily moment. GetType (inherited from Object) Gets the Type of the current instance. ToString This returns an XML representation of the daily moment. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone (inherited from Object) Creates a shallow copy of the current Object.

[3923] See Also

[3924] DailyMoment Class|ActionEngine.Api.Schedule Namespace

[3925] API Class Library

[3926] DailyMoment Constructor

[3927] This constructs a new daily moment expressed as UTC.

[3928] Overload List

[3929] This constructs a new daily moment expressed as UTC.

[3930] public DailyMoment(DaysOfWeek,TimeSpan);

[3931] This constructs a new daily moment expressed as an offset from UTC.

[3932] public DailyMoment(DaysOfWeek,TimeSpan,TimeSpan);

[3933] See Also

[3934] DailyMoment Class|ActionEngine.Api.Schedule Namespace

[3935] API Class Library

[3936] DailyMoment Constructor (DaysOfWeek, TimeSpan)

[3937] This constructs a new daily moment expressed as UTC.

[3938] public DailyMoment(

[3939] DaysOfWeek daysOfWeek,

[3940] TimeSpan midnightOffset

[3941] );

[3942] Parameters

[3943] daysOfWeek

[3944] One or more days of the week.

[3945] midnightoffset

[3946] The offset from midnight in which the moment occurs.

[3947] Remarks

[3948] This constructs a new daily moment. At least one day of the week must be included, and the midnight offset must be >=0 and <24 hours.

[3949] Exceptions Exception Type Condition ApplicationException This is thrown when one or more arguments are invalid.

[3950] See Also

[3951] DailyMoment Class|ActionEngine.Api.Schedule Namespace|DailyMoment Constructor Overload List

[3952] API Class Library

[3953] DailyMoment Constructor (DaysOfWeek, TimeSpan, TimeSpan)

[3954] This constructs a new daily moment expressed as an offset from UTC.

[3955] public DailyMoment(

[3956] DaysOfWeek daysOfWeek,

[3957] TimeSpan midnightOffset,

[3958] TimeSpan utcOffset

[3959] );

[3960] Parameters

[3961] daysOfWeek

[3962] One or more days of the week.

[3963] midnightOffset

[3964] The offset from midnight in which the moment occurs.

[3965] utcOffset

[3966] The difference between Coordinated Universal Time (UTC) and the given midnight offset.

[3967] The value must be between −24 and 24 hours exclusive. See UtcOffset.

[3968] Remarks

[3969] This constructs a new daily moment. At least one day of the week must be included, and the midnight offset must be >=0 and <24 hours.

[3970] Exceptions Exception Type Condition ApplicationException This is thrown when one or more arguments are invalid.

[3971] See Also

[3972] DailyMoment Class|ActionEngine.Api.Schedule Namespace|DailyMoment Constructor Overload List

[3973] API Class Library

[3974] DailyMoment Properties

[3975] The properties of the DailyMoment class are listed below. For a complete list of DailyMoment class members, see the DailyMoment Members topic.

[3976] Public Instance Properties DaysOfWeek This returns the days of the week for the daily moment. MidnightOffset This returns the midnight offset for the daily moment.

[3977] See Also

[3978] DailyMoment Class|ActionEngine.Api.Schedule Namespace

[3979] API Class Library

[3980] DailyMoment.DaysOfWeek Property

[3981] This returns the days of the week for the daily moment.

[3982] public DaysOfWeek DaysOfWeek {get;}

[3983] See Also

[3984] DailyMoment Class|ActionEngine.Api.Schedule Namespace

[3985] API Class Library

[3986] DailyMoment.MidnightOffset Property

[3987] This returns the midnight offset for the daily moment.

[3988] public System.TimeSpan MidnightOffset {get;}

[3989] See Also

[3990] DailyMoment Class|ActionEngine.Api.Schedule Namespace

[3991] API Class Library

[3992] DailyMoment Methods

[3993] The methods of the DailyMoment class are listed below. For a complete list of DailyMoment class members, see the DailyMoment Members topic. Public Instance Methods Equals This compares two daily moments for equality. GetHashCode This returns a hash code for the daily moment. GetType (inherited from Object) Gets the Type of the current instance. ToString This returns an XML representation of the daily moment. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone (inherited from Object) Creates a shallow copy of the current Object.

[3994] See Also

[3995] DailyMoment Class|ActionEngine.Api.Schedule Namespace

[3996] API Class Library

[3997] DailyMoment.Equals Method

[3998] This compares two daily moments for equality.

[3999] public override bool Equals(

[4000] object obj

[4001] );

[4002] Parameters

[4003] obj

[4004] The object to compare.

[4005] Return Value

[4006] True if equal, false otherwise.

[4007] See Also

[4008] DailyMoment Class|ActionEngine.Api.Schedule Namespace

[4009] API Class Library

[4010] DailyMoment.GetHashCode Method

[4011] This returns a hash code for the daily moment.

[4012] public override int GetHashCode( );

[4013] Return Value

[4014] A hash code.

[4015] See Also

[4016] DailyMoment Class|ActionEngine.Api.Schedule Namespace

[4017] API Class Library

[4018] DailyMoment.ToString Method

[4019] This returns an XML representation of the daily moment.

[4020] public override string ToString( );

[4021] Return Value

[4022] An XML representation of the daily moment.

[4023] See Also

[4024] DailyMoment Class|ActionEngine.Api.Schedule Namespace

[4025] API Class Library

[4026] DailyRecurring Class

[4027] This class represents a moment that occurs every N minutes, bounded by a start time and duration, on certain days of the week.

[4028] For a list of all members of this type, see DailyRecurring Members.

[4029] System.Object

[4030] DailyRecurring

[4031] public class DailyRecurring

[4032] Requirements

[4033] Namespace: ActionEngine.Api.Schedule

[4034] Assembly: aefwapi (in aefwapi.dll)

[4035] See Also

[4036] DailyRecurring Members|ActionEngine.Api.Schedule Namespace

[4037] API Class Library

[4038] DailyRecurring Members

[4039] DailyRecurring overview Public Instance Constructors DailyRecurring Overloaded. Initializes a new instance of the DailyRecurring class. Public Instance Properties DaysOfWeek This returns the days of the week for the daily recurring moment. Duration This returns the duration for the daily recurring moment. MidnightOffsetStart This returns the start time for the daily recurring moment. MinuteInterval This returns the “every N minutes” interval in which the moment recurs. Public Instance Methods Equals This compares two daily recurring moments for equality. GetHashCode This returns a hash code for the daily recurring moment. GetType (inherited from Object) Gets the Type of the current instance. ToString This returns an XML representation of the daily recurring moment. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone (inherited from Object) Creates a shallow copy of the current Object.

[4040] See Also

[4041] DailyRecurring Class|ActionEngine.Api.Schedule Namespace

[4042] API Class Library

[4043] DailyRecurring Constructor

[4044] This constructs a new daily recurring moment expressed as UTC.

[4045] Overload List

[4046] This constructs a new daily recurring moment expressed as UTC.

[4047] public DailyRecurring(DaysOfWeek,int,TimeSpan,TimeSpan);

[4048] This constructs a new daily recurring moment expressed as an offset from UTC.

[4049] public DailyRecurring(DaysOfWeek,int,TimeSpan,TimeSpan,TimeSpan);

[4050] See Also

[4051] DailyRecurring Class|ActionEngine.Api.Schedule Namespace

[4052] API Class Library

[4053] DailyRecurring Constructor (DaysOfWeek, Int32, TimeSpan, TimeSpan)

[4054] This constructs a new daily recurring moment expressed as UTC.

[4055] public DailyRecurring(

[4056] DaysOfWeek daysOfWeek,

[4057] int minuteinterval,

[4058] TimeSpan midnightOffsetStart,

[4059] TimeSpan duration

[4060] );

[4061] Parameters

[4062] daysOfWeek

[4063] One or more days of the week on which the first of the recurring moments begins. Note that depending on the duration, the day might wrap to the next one, which is fine. For example, if defining Friday, 22:00 start time, 4 hour duration, 15 minute interval, the recurring moment will begin on Friday but will span to Saturday at 2:00.

[4064] minuteInterval

[4065] How often the moment occurs within the span, specified in minutes.

[4066] midnightOffsetStart

[4067] The time of the first moment.

[4068] duration

[4069] The duration after which minuteInterval ceases to have an effect. The value must be >0 and <24 hours.

[4070] Remarks

[4071] This constructs a new daily recurring moment. The recurring moment begins at the given time and happens every N minutes until the given duration is up.

[4072] Exceptions Exception Type Condition ApplicationException This is thrown when one or more arguments are invalid.

[4073] See Also

[4074] DailyRecurring Class|ActionEngine.Api.Schedule Namespace|DailyRecurring Constructor Overload List

[4075] API Class Library

[4076] DailyRecurring Constructor (DaysOfWeek, Int32, TimeSpan, TimeSpan, TimeSpan)

[4077] This constructs a new daily recurring moment expressed as an offset from UTC.

[4078] public DailyRecurring(

[4079] DaysOfWeek daysOfWeek,

[4080] int minuteInterval,

[4081] TimeSpan midnightOffsetStart,

[4082] TimeSpan duration,

[4083] TimeSpan utcOffset

[4084] );

[4085] Parameters

[4086] daysOfWeek

[4087] One or more days of the week on which the first of the recurring moments begins. Note that depending on the duration, the day might wrap to the next one, which is fine. For example, if defining Friday, 22:00 start time, 4 hour duration, 15 minute interval, the recurring moment will begin on Friday but will span to Saturday at 2:00.

[4088] minuteInterval

[4089] How often the moment occurs within the span, specified in minutes.

[4090] midnightOffsetStart

[4091] The time of the first moment.

[4092] duration

[4093] The duration after which minuteInterval ceases to have an effect. The value must be >0 and <24 hours.

[4094] utcOffset

[4095] The difference between Coordinated Universal Time (UTC) and the given start time. The value must be between −24 and 24 hours exclusive. See UtcOffset.

[4096] Remarks

[4097] This constructs a new daily recurring moment. The recurring moment begins at the given time and happens every N minutes until the given duration is up.

[4098] Exceptions Exception Type Condition ApplicationException This is thrown when one or more arguments are invalid.

[4099] See Also

[4100] DailyRecurring Class|ActionEngine.Api.Schedule Namespace|DailyRecurring Constructor Overload List

[4101] API Class Library

[4102] DailyRecurring Properties

[4103] The properties of the DailyRecurring class are listed below. For a complete list of DailyRecurring class members, see the DailyRecurring Members topic.

[4104] Public Instance Properties DaysOfWeek This returns the days of the week for the daily recurring moment. Duration This returns the duration for the daily recurring moment. MidnightOffsetStart This returns the start time for the daily recurring moment. MinuteInterval This returns the “every N minutes” interval in which the moment recurs.

[4105] See Also

[4106] DailyRecurring Class|ActionEngine.Api.Schedule Namespace

[4107] API Class Library

[4108] DailyRecurring.DaysOfWeek Property

[4109] This returns the days of the week for the daily recurring moment.

[4110] public DaysOfWeek DaysOfWeek {get;}

[4111] See Also

[4112] DailyRecurring Class|ActionEngine.Api.Schedule Namespace

[4113] API Class Library

[4114] DailyRecurring.Duration Property

[4115] This returns the duration for the daily recurring moment.

[4116] public System.TimeSpan Duration {get;}

[4117] See Also

[4118] DailyRecurring Class|ActionEngine.Api.Schedule Namespace

[4119] API Class Library

[4120] DailyRecurring.MidnightOffsetStart Property

[4121] This returns the start time for the daily recurring moment.

[4122] public System.TimeSpan MidnightOffsetStart {get;}

[4123] See Also

[4124] DailyRecurring Class|ActionEngine.Api.Schedule Namespace

[4125] API Class Library

[4126] DailyRecurring.MinuteInterval Property

[4127] This returns the “every N minutes” interval in which the moment recurs.

[4128] public int MinuteInterval {get;}

[4129] See Also

[4130] DailyRecurring Class|ActionEngine.Api.Schedule Namespace

[4131] API Class Library

[4132] DailyRecurring Methods

[4133] The methods of the DailyRecurring class are listed below. For a complete list of DailyRecurring class members, see the DailyRecurring Members topic. Public Instance Methods Equals This compares two daily recurring moments for equality. GetHashCode This returns a hash code for the daily recurring moment. GetType (inherited Gets the Type of the current instance. from Object) ToString This returns an XML representation of the daily recurring moment. Protected Instance Methods Finalize (inherited from Allows an Object to attempt to free resources Object) and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone Creates a shallow copy of the current Object. (inherited from Object)

[4134] See Also

[4135] DailyRecurring Class|ActionEngine.Api.Schedule Namespace

[4136] API Class Library

[4137] DailyRecurring.Equals Method

[4138] This compares two daily recurring moments for equality.

[4139] public override bool Equals(

[4140] object obj

[4141] );

[4142] Parameters

[4143] obj

[4144] The object to compare.

[4145] Return Value

[4146] True if equal, false otherwise.

[4147] See Also

[4148] DailyRecurring Class|ActionEngine.Api.Schedule Namespace

[4149] API Class Library

[4150] DailyRecurring.GetHashCode Method

[4151] This returns a hash code for the daily recurring moment.

[4152] public override int GetHashCode( );

[4153] Return Value

[4154] A hash code.

[4155] See Also

[4156] DailyRecurring Class|ActionEngine.Api.Schedule Namespace

[4157] API Class Library

[4158] DailyRecurring.ToString Method

[4159] This returns an XML representation of the daily recurring moment.

[4160] public override string ToString( );

[4161] Return Value

[4162] An XML representation of the daily recurring moment.

[4163] See Also

[4164] DailyRecurring Class|ActionEngine.Api.Schedule Namespace

[4165] API Class Library

[4166] DaysOfWeek Enumeration

[4167] The enumeration of days in a week.

[4168] public enum DaysOfWeek

[4169] Remarks

[4170] The enumeration of days in a week. The members can be combined to indicate multiple days, such as DaysOfWeek.Saturday|DaysOfWeek.Sunday.

[4171] Members Member Name Description Monday Monday Tuesday Tuesday Wednesday Wednesday Thursday Thursday Friday Friday Saturday Saturday Sunday Sunday

[4172] Requirements

[4173] Namespace: ActionEngine.Api.Schedule

[4174] Assembly: aefwapi (in aefwapi.dll)

[4175] See Also

[4176] ActionEngine.Api.Schedule Namespace

[4177] API Class Library

[4178] FeatureSchedule Class

[4179] This class represents a feature schedule.

[4180] For a list of all members of this type, see FeatureSchedule Members.

[4181] System.Object

[4182] FeatureSchedule

[4183] public class FeatureSchedule

[4184] Remarks

[4185] This class represents a feature schedule. Feature schedules are dependent on a “push” system being installed on client devices and the server. Without this system, feature schedules are ignored. Today, the push system is the “Action Lock” product, which utilizes SMS for initiating contact from the server to the client. If you are developing plugins that utilize feature schedules, make sure that the intended deployment has Action Lock installed.

[4186] According to the given schedule, “feature commands” are fired off by the client device that maps to the given phone number. A user's phone numbers can be retrieved through the User class's Devices property. For more information on feature commands, see DoFeatureCommand.

[4187] Note that the implementation of DoFeatureCommand in the context of push can only return responses of type AnswersResponse.

[4188] Requirements

[4189] Namespace: ActionEngine.Api.Schedule

[4190] Assembly: aefwapi (in aefwapi.dll)

[4191] See Also

[4192] FeatureSchedule Members|ActionEngine.Api.Schedule Namespace

[4193] API Class Library

[4194] FeatureSchedule Members

[4195] FeatureSchedule overview Public Instance Constructors FeatureSchedule Constructor This constructs a new feature schedule. Public Instance Properties AllowedEarly This returns the interval that is acceptable for a scheduled event to fire early. AllowedLate This returns the interval that is acceptable for a scheduled event to fire late. Args This returns the arguments associated with the feature command. Droppable This returns whether or not a scheduled event can be dropped when the server is experiencing high load. FeatureId This returns the feature ID associated with the feature command. FriendlyName This returns the friendly name of the feature schedule. Id This returns the feature schedule's ID. MaxTimeOnQueue This returns the maximum amount of time a command can sit in the server's push queue without the client discovering it before it expires. PhoneNumber This returns the phone number of the client device to which the response to DoFeatureCommand is sent. Schedule This returns the schedule. UserName This returns the user name. Public Instance Methods Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetHashCode (inherited from Object) Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Object) Gets the Type of the current instance. ToString (inherited from Object) Returns a String that represents the current Object. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone (inherited from Object) Creates a shallow copy of the current Object.

[4196] See Also

[4197] FeatureSchedule Class|ActionEngine.Api.Schedule Namespace

[4198] API Class Library

[4199] FeatureSchedule Constructor

[4200] This constructs a new feature schedule.

[4201] public FeatureSchedule(

[4202] Schedule schedule,

[4203] string friendlyName,

[4204] string featureId,

[4205] string

args,

[4206] Device device,

[4207] ClientInfo clientInfo,

[4208] UserName userName,

[4209] TimeSpan maxTimeOnQueue,

[4210] bool droppable,

[4211] TimeSpan allowedEarly,

[4212] TimeSpan allowedLate

[4213] );

[4214] Parameters

[4215] schedule

[4216] The schedule.

[4217] friendlyName

[4218] The friendly name.

[4219] featureId

[4220] The feature ID associated with the feature command.

[4221] args

[4222] The arguments associated with the feature command.

[4223] device

[4224] The client device to which the response to DoFeatureCommand is sent.

[4225] clientInfo

[4226] Information about the client making the request.

[4227] userName

[4228] The user name.

[4229] max TimeOnQueue

[4230] The maximum amount of time a command can sit in the server's push queue without the client discovering it before it expires. For example, if a client device is turned off for a month, it may not make sense for a daily schedule to cause a month's worth of commands to queue up on the push server.

[4231] droppable

[4232] Whether or not a scheduled event can be dropped when the server is experiencing high load. In rare situations during high load, even if set to false, an event may be dropped if the system cannot catch up otherwise. Consider setting this to true if the content being pushed is non-essential or is not paid for by the user. Normally nothing will be dropped anyway.

[4233] allowedEarly

[4234] The interval that is acceptable for a scheduled event to fire early. Normally an event will fire at the precisely-scheduled time, but under high load the scheduler may try to spread out requests by starting some early and others late. This parameter allows the application to influence the scheduler, although there are no guarantees. Consider setting this to the maximum reasonable value.

[4235] allowedLate

[4236] The interval that is acceptable for a scheduled event to fire late.

[4237] See Also

[4238] FeatureSchedule Class|ActionEngine.Api.Schedule Namespace|Scheduler

[4239] API Class Library

[4240] FeatureSchedule Properties

[4241] The properties of the FeatureSchedule class are listed below. For a complete list of FeatureSchedule class members, see the FeatureSchedule Members topic.

[4242] Public Instance Properties AllowedEarly This returns the interval that is acceptable for a scheduled event to fire early. AllowedLate This returns the interval that is acceptable for a scheduled event to fire late. Args This returns the arguments associated with the feature command. Droppable This returns whether or not a scheduled event can be dropped when the server is experiencing high load. FeatureId This returns the feature ID associated with the feature command. FriendlyName This returns the friendly name of the feature schedule. Id This returns the feature schedule's ID. MaxTimeOnQueue This returns the maximum amount of time a command can sit in the server's push queue without the client discovering it before it expires. PhoneNumber This returns the phone number of the client device to which the response to DoFeatureCommand is sent. Schedule This returns the schedule. UserName This returns the user name.

[4243] See Also

[4244] FeatureSchedule Class|ActionEngine.Api.Schedule Namespace

[4245] API Class Library

[4246] FeatureSchedule.AllowedEarly Property

[4247] This returns the interval that is acceptable for a scheduled event to fire early.

[4248] public System.TimeSpan AllowedEarly {get;}

[4249] Remarks

[4250] For more information, see FeatureSchedule

[4251] See Also

[4252] FeatureSchedule Class|ActionEngine.Api.Schedule Namespace

[4253] API Class Library

[4254] FeatureSchedule.AllowedLate Property

[4255] This returns the interval that is acceptable for a scheduled event to fire late.

[4256] public System.TimeSpan AllowedLate {get;}

[4257] Remarks

[4258] For more information, see FeatureSchedule

[4259] See Also

[4260] FeatureSchedule Class|ActionEngine.Api.Schedule Namespace

[4261] API Class Library

[4262] FeatureSchedule.Args Property

[4263] This returns the arguments associated with the feature command.

[4264] public string

Args {get;}

[4265] See Also

[4266] FeatureSchedule Class|ActionEngine.Api.Schedule Namespace

[4267] API Class Library

[4268] FeatureSchedule.Droppable Property

[4269] This returns whether or not a scheduled event can be dropped when the server is experiencing high load.

[4270] public bool Droppable {get;}

[4271] See Also

[4272] FeatureSchedule Class|ActionEngine.Api.Schedule Namespace

[4273] API Class Library

[4274] FeatureSchedule.FeatureId Property

[4275] This returns the feature ID associated with the feature command.

[4276] public string Featureld {get;}

[4277] See Also

[4278] FeatureSchedule Class|ActionEngine.Api.Schedule Namespace

[4279] API Class Library

[4280] FeatureSchedule.FriendlyName Property

[4281] This returns the friendly name of the feature schedule.

[4282] public string FriendlyName {get;}

[4283] See Also

[4284] FeatureSchedule Class|ActionEngine.Api.Schedule Namespace

[4285] API Class Library

[4286] FeatureSchedule.Id Property

[4287] This returns the feature schedule's ID.

[4288] public System.Guid Id {get;}

[4289] Remarks

[4290] The ID is only available after retrieving the feature schedule from the database. Otherwise, the value is Guid.Empty.

[4291] See Also

[4292] FeatureSchedule Class|ActionEngine.Api.Schedule Namespace

[4293] API Class Library

[4294] FeatureSchedule.MaxTimeOnQueue Property

[4295] This returns the maximum amount of time a command can sit in the server's push queue without the client discovering it before it expires.

[4296] public System.TimeSpan MaxTimeOnQueue {get;}

[4297] Remarks

[4298] This returns the maximum amount of time a command can sit in the server's push queue without the client discovering it before it expires. For example, if a client device is turned off for a month, it may not make sense for a daily schedule to cause a month's worth of commands to queue up on the push server.

[4299] See Also

[4300] FeatureSchedule Class|ActionEngine.Api.Schedule Namespace

[4301] API Class Library

[4302] FeatureSchedule.PhoneNumber Property

[4303] This returns the phone number of the client device to which the response to DoFeatureCommand is sent.

[4304] public string PhoneNumber {get;}

[4305] See Also

[4306] FeatureSchedule Class|ActionEngine.Api.Schedule Namespace

[4307] API Class Library

[4308] FeatureSchedule.Schedule Property

[4309] This returns the schedule.

[4310] public Schedule Schedule {get;}

[4311] See Also

[4312] FeatureSchedule Class|ActionEngine.Api.Schedule Namespace

[4313] API Class Library

[4314] FeatureSchedule.UserName Property

[4315] This returns the user name.

[4316] public ActionEngine.Api.UserName UserName {get;}

[4317] See Also

[4318] FeatureSchedule Class|ActionEngine.Api.Schedule Namespace

[4319] API Class Library

[4320] ITask Interface

[4321] This interface represents a task, which is called into by the framework based on a schedule.

[4322] For a list of all members of this type, see ITask Members.

[4323] public interface ITask: IModule, IHealth

[4324] Remarks

[4325] This interface represents a task, which is called into by the framework based on a schedule.

[4326] The schedule can be defined programmatically or in an install.xml file. For more information on the relationship between tasks and schedules, see TaskSchedule.

[4327] To implement a task:

[4328] Create a new plugin folder.

[4329] In the plugin folder, create a “cfg” subfolder. In the cfg folder, create an “install.xml” file. The install.xml file defines a component of type “task.” Here is an example install.xml file: <install><content><component name=“mytask” type=“task”><class assembly=“mytask.dll” lang=“.net”>MyCompany.MyTask</class></component></content><plugin><id>mytask</id><namespace>abc</namespace><version>0.1</version></plugin></install>

[4330] In the plugin folder, create a “dotnet” subfolder. The assembly referenced in install.xml is relative to this folder.

[4331] Implement the ITask interface using the class name defined in install.xml.

[4332] If the task makes use of a type (interface, class, etc.) exposed by an assembly in another plugin, set up a dependency. For more information, see IModule.

[4333] Requirements

[4334] Namespace: ActionEngine.Api.Schedule

[4335] Assembly: aefwapi (in aefwapi.dll)

[4336] See Also

[4337] ITask Members|ActionEngine.Api.Schedule Namespace

[4338] API Class Library

[4339] ITask Members

[4340] ITask overview

[4341] Public Instance Methods

[4342] RunTask This is called to run a task.

[4343] See Also

[4344] ITask Interface|ActionEngine.Api.Schedule Namespace

[4345] API Class Library

[4346] ITask Methods

[4347] The methods of the ITask interface are listed below. For a complete list of ITask interface members, see the ITask Members topic.

[4348] Public Instance Methods RunTask This is called to run a task.

[4349] See Also

[4350] ITask Interface|ActionEngine.Api.Schedule Namespace

[4351] API Class Library

[4352] ITask.RunTask Method

[4353] This is called to run a task.

[4354] Response RunTask(

[4355] string taskData,

[4356] DateTime scheduledMoment,

[4357] string componentId

[4358] );

[4359] Parameters

[4360] taskData

[4361] The task data defined in the task schedule.

[4362] scheduledMoment

[4363] The date/time associated with the moment in a task schedule that caused this to be called.

[4364] This is provided because the actual time that RunTask is called could be different than the intended scheduled time in some cases, such as when the scheduler gets backed up under heavy load.

[4365] componentId

[4366] The component ID of the task schedule.

[4367] Return Value

[4368] A Response.

[4369] Remarks

[4370] This is called to run a task. Typically a CodeResponse of type S_OK is returned, but other codes can be returned, and responses of type HealthResponse are also allowed.

[4371] See Also

[4372] ITask Interface|ActionEngine.Api.Schedule Namespace

[4373] API Class Library

[4374] MonthlyMoment Class

[4375] This class represents a moment that occurs at a certain time once a month.

[4376] For a list of all members of this type, see MonthlyMoment Members.

[4377] System.Object

[4378] MonthlyMoment

[4379] public class MonthlyMoment

[4380] Requirements

[4381] Namespace: ActionEngine.Api.Schedule

[4382] Assembly: aefwapi (in aefwapi.dll)

[4383] See Also

[4384] MonthlyMoment Members|ActionEngine.Api.Schedule Namespace

[4385] API Class Library

[4386] MonthlyMoment Members

[4387] MonthlyMoment overview Public Instance Constructors MonthlyMoment Overloaded. Initializes a new instance of the MonthlyMoment class. Public Instance Properties DayOfMonth This returns the day of the month for the monthly moment. MidnightOffset This returns the midnight offset for the monthly moment. Public Instance Methods Equals This compares two monthly moments for equality. GetHashCode This returns a hash code for the monthly moment. GetType (inherited from Object) Gets the Type of the current instance. ToString This returns an XML representation of the monthly moment. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone (inherited from Object) Creates a shallow copy of the current Object.

[4388] See Also

[4389] MonthlyMoment Class|ActionEngine.Api.Schedule Namespace

[4390] API Class Library

[4391] MonthlyMoment Constructor

[4392] This constructs a new monthly moment expressed as UTC.

[4393] Overload List

[4394] This constructs a new monthly moment expressed as UTC.

[4395] public MonthlyMoment(int,TimeSpan);

[4396] This constructs a new monthly moment expressed as an offset from UTC.

[4397] public MonthlyMoment(int,TimeSpan,TimeSpan);

[4398] See Also

[4399] MonthlyMoment Class|ActionEngine.Api.Schedule Namespace

[4400] API Class Library

[4401] MonthlyMoment Constructor (Int32, TimeSpan)

[4402] This constructs a new monthly moment expressed as UTC.

[4403] public MonthlyMoment(

[4404] int dayOfMonth,

[4405] TimeSpan midnightOffset

[4406] );

[4407] Parameters

[4408] dayOfMonth

[4409] The day of the month.

[4410] midnightOffset

[4411] The offset from midnight when the moment occurs.

[4412] Remarks

[4413] This constructs a new monthly moment. The given day of the month must be between 1 and 31. For months that have fewer than 31 days, the last day of the month is used. The midnight offset must be >=0 and <24 hours.

[4414] Exceptions Exception Type Condition ApplicationException This is thrown when one or more arguments are invalid.

[4415] See Also

[4416] MonthlyMoment Class|ActionEngine.Api.Schedule Namespace|MonthlyMoment Constructor Overload List

[4417] API Class Library

[4418] MonthlyMoment Constructor (Int32, TimeSpan, TimeSpan)

[4419] This constructs a new monthly moment expressed as an offset from UTC.

[4420] public MonthlyMoment(

[4421] int dayOfMonth,

[4422] TimeSpan midnightOffset,

[4423] TimeSpan utcOffset

[4424] );

[4425] Parameters

[4426] dayOfMonth

[4427] The day of the month.

[4428] midnightOffset

[4429] The offset from midnight when the moment occurs.

[4430] utcOffset

[4431] The difference between Coordinated Universal Time (UTC) and the given midnight offset.

[4432] The value must be between −24 and 24 hours exclusive. See UtcOffset. !@# EXPLAIN END OF MONTH BEHAVIOR

[4433] Remarks

[4434] This constructs a new monthly moment. The given day of the month must be between 1 and 31. For months that have fewer than 31 days, the last day of the month is used. The midnight offset must be >=0 and <24 hours.

[4435] Exceptions Exception Type Condition ApplicationException This is thrown when one or more arguments are invalid.

[4436] See Also

[4437] MonthlyMoment Class|ActionEngine.Api.Schedule Namespace|MonthlyMoment Constructor Overload List

[4438] API Class Library

[4439] MonthlyMoment Properties

[4440] The properties of the MonthlyMoment class are listed below. For a complete list of MonthlyMoment class members, see the MonthlyMoment Members topic.

[4441] Public Instance Properties DayOfMonth This returns the day of the month for the monthly moment. MidnightOffset This returns the midnight offset for the monthly moment.

[4442] See Also

[4443] MonthlyMoment Class|ActionEngine.Api.Schedule Namespace

[4444] API Class Library

[4445] MonthlyMoment.DayOfMonth Property

[4446] This returns the day of the month for the monthly moment.

[4447] public int DayOfMonth {get;}

[4448] See Also

[4449] MonthlyMoment Class|ActionEngine.Api.Schedule Namespace

[4450] API Class Library

[4451] MonthlyMoment.MidnightOffset Property

[4452] This returns the midnight offset for the monthly moment.

[4453] public System.TimeSpan MidnightOffset {get;}

[4454] See Also

[4455] MonthlyMoment Class|ActionEngine.Api.Schedule Namespace

[4456] API Class Library

[4457] MonthlyMoment Methods

[4458] The methods of the MonthlyMoment class are listed below. For a complete list of MonthlyMoment class members, see the MonthlyMoment Members topic. Public Instance Methods Equals This compares two monthly moments for equality. GetHashCode This returns a hash code for the monthly moment. GetType (inherited from Object) Gets the Type of the current instance. ToString This returns an XML representation of the monthly moment. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone (inherited from Object) Creates a shallow copy of the current Object.

[4459] See Also

[4460] MonthlyMoment Class|ActionEngine.Api.Schedule Namespace

[4461] API Class Library

[4462] MonthlyMoment.Equals Method

[4463] This compares two monthly moments for equality.

[4464] public override bool Equals(

[4465] object obj

[4466] );

[4467] Parameters

[4468] obj

[4469] The object to compare.

[4470] Return Value

[4471] True if equal, false otherwise.

[4472] See Also

[4473] MonthlyMoment Class|ActionEngine.Api.Schedule Namespace

[4474] API Class Library

[4475] MonthlyMoment.GetHashCode Method

[4476] This returns a hash code for the monthly moment.

[4477] public override int GetHashCodeo( );

[4478] Return Value

[4479] A hash code.

[4480] See Also

[4481] MonthlyMoment Class|ActionEngine.Api.Schedule Namespace

[4482] API Class Library

[4483] MonthlyMoment.ToString Method

[4484] This returns an XML representation of the monthly moment.

[4485] public override string ToString( );

[4486] Return Value

[4487] An XML representation of the monthly moment.

[4488] See Also

[4489] MonthlyMoment Class|ActionEngine.Api.Schedule Namespace

[4490] API Class Library

[4491] Schedule Class

[4492] This class represents a schedule of one-time and recurring moments.

[4493] For a list of all members of this type, see Schedule Members.

[4494] System Object

[4495] Schedule

[4496] public class Schedule

[4497] Remarks

[4498] This class represents a schedule of one-time and recurring moments. Note that this class is NOT thread safe. Implement your own locking if multi-threaded access is required.

[4499] The schedule's resolution is to the minute. Seconds are ignored. All times are expressed as UTC. When defining offsets and absolute times in XML (parsed by the Schedule constructor), an exception is thrown if an offset or time includes seconds. For methods that take DateTime or TimeSpan structures, the seconds if provided are simply ignored.

[4500] Requirements

[4501] Namespace: ActionEngine.Api.Schedule

[4502] Assembly: aefwapi (in aefwapi.dll)

[4503] See Also

[4504] Schedule Members|ActionEngine.Api.Schedule Namespace

[4505] API Class Library

[4506] Schedule Members

[4507] Schedule overview Public Static Fields NoDateTime This represents a DateTime that has no value or has not been specified. Public Instance Constructors Schedule Overloaded. Initializes a new instance of the Schedule class. Public Instance Properties Beginning This represents a beginning bound on the entire schedule. DailyMoments This returns the daily moments of the schedule. DailyRecurring This returns the daily recurring moments of the schedule. End This represents an ending bound on the entire schedule. Moments This returns the moments of the schedule. MonthlyMoments This returns the monthly moments of the schedule. Public Instance Methods AddDailyMoment This adds a daily moment to the schedule. AddDailyRecurring This adds a daily recurring moment to the schedule. AddMoment This adds a moment to the schedule. AddMonthlyMoment This adds a monthly moment to the schedule. Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetHashCode (inherited from Object) Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table. GetNextMoment This returns the first moment that follows the reference moment, or NoDateTime if none exists. GetType (inherited from Object) Gets the Type of the current instance. RemoveDailyMoment This removes a daily moment from the schedule. RemoveDailyRecurring This removes a daily recurring moment from the schedule. RemoveMoment This removes a moment from the schedule. RemoveMonthlyMoment This removes a monthly moment from the schedule. ToString This returns an XML representation of the schedule. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone (inherited from Object) Creates a shallow copy of the current Object.

[4508] See Also

[4509] Schedule Class|ActionEngine.Api.Schedule Namespace

[4510] API Class Library

[4511] Schedule Constructor

[4512] This constructs an empty schedule.

[4513] Overload List

[4514] This constructs an empty schedule.

[4515] public Schedule( );

[4516] This constructs a new schedule from the given XML.

[4517] public Schedule(string);

[4518] See Also

[4519] Schedule Class|ActionEngine.Api.Schedule Namespace

[4520] API Class Library

[4521] Schedule Constructor( )

[4522] This constructs an empty schedule.

[4523] public Schedule( );

[4524] See Also

[4525] Schedule Class|ActionEngine.Api.Schedule Namespace|Schedule Constructor Overload List

[4526] API Class Library

[4527] Schedule Constructor (String)

[4528] This constructs a new schedule from the given XML.

[4529] public Schedule(

[4530] string xml

[4531] );

[4532] Parameters

[4533] xml

[4534] The XML.

[4535] Remarks

[4536] This constructs a new schedule from the given XML. All times are expressed as UTC. Here is an example document:

[4537] <schedule beginning=“200301010000” end=“200307312359”><dailyMoment><daysOfWeek>1111100</daysOfWeek><time>1230</time></dailyMoment><dailyRecurring><daysOfWeek>0000011</daysOfWeek><minuteInterval>60</minuteInterval><startTime>0800</startTime><duration>120</duration></dailyRecurring><moment>200304011800</moment><monthlyMoment><dayOfMonth>15</dayOfMonth><time>1200</time></monthlyMoment></schedule>

[4538] Any number of the four main element types can be included in the schedule (dailyMoment, dailyRecurring, moment, and monthlyMoment), but each one must be unique within its category. For example, you cannot add <moment>200310310000</moment>twice.

[4539] The beginning and end attributes are optional. If not provided, or if a value is NoDateTime, the schedule is not bounded on that end (front or back).

[4540] <startTime> is the time at which a daily recurring moment begins.

[4541] <duration> is the duration in minutes after which <minuteInterval> ceases to have an effect.

[4542] <daysOfWeek> is a string of seven 1s and 0s representing which days of the week are enabled, beginning with Monday.

[4543] All absolute times must be of the format YYMMDDHHMM, and all times (offsets from midnight) must be of the format HHMM. Anything else will generate an exception during the parse.

[4544] Exceptions Exception Type Condition ApplicationException This is thrown when the XML is invalid. XmlException This is thrown when the XML fails to load or parse.

[4545] See Also

[4546] Schedule Class|ActionEngine.Api.Schedule Namespace|Schedule Constructor Overload List

[4547] API Class Library

[4548] Schedule Fields

[4549] The fields of the Schedule class are listed below. For a complete list of Schedule class members, see the Schedule Members topic.

[4550] Public Static Fields NoDateTime This represents a DateTime that has no value or has not been specified.

[4551] See Also

[4552] Schedule Class|ActionEngine.Api.Schedule Namespace

[4553] API Class Library

[4554] Schedule.NoDateTime Field

[4555] This represents a DateTime that has no value or has not been specified.

[4556] public static readonly DateTime NoDateTime;

[4557] Remarks

[4558] This represents a DateTime that has no value or has not been specified. The value is Jan. 1, 2000, 12:00 AM.

[4559] See Also

[4560] Schedule Class|ActionEngine.Api.Schedule Namespace

[4561] API Class Library

[4562] Schedule Properties

[4563] The properties of the Schedule class are listed below. For a complete list of Schedule class members, see the Schedule Members topic.

[4564] Public Instance Properties Beginning This represents a beginning bound on the entire schedule. DailyMoments This returns the daily moments of the schedule. DailyRecurring This returns the daily recurring moments of the schedule. End This represents an ending bound on the entire schedule. Moments This returns the moments of the schedule. MonthlyMoments This returns the monthly moments of the schedule.

[4565] See Also

[4566] Schedule Class|ActionEngine.Api.Schedule Namespace

[4567] API Class Library

[4568] Schedule.Beginning Property

[4569] This represents a beginning bound on the entire schedule.

[4570] public System.DateTime Beginning {get; set;}

[4571] Remarks

[4572] This represents a beginning bound on the entire schedule. If not provided, a value of NoDateTime is used. In a similar way, to clear the beginning, assign a value of NoDateTime.

[4573] Exceptions Exception Type Condition ApplicationException This is thrown if both the beginning and end are specified, and the beginning is not before the end.

[4574] See Also

[4575] Schedule Class|ActionEngine.Api.Schedule Namespace|End

[4576] API Class Library

[4577] Schedule.DailyMoments Property

[4578] This returns the daily moments of the schedule.

[4579] public DailyMoment

DailyMoments {get;}

[4580] Remarks

[4581] This returns the daily moments of the schedule. If none is present, a zero-length array is returned.

[4582] See Also

[4583] Schedule Class|ActionEngine.Api.Schedule Namespace

[4584] API Class Library

[4585] Schedule.DailyRecurring Property

[4586] This returns the daily recurring moments of the schedule.

[4587] public DailyRecurring

DailyRecurring {get;}

[4588] Remarks

[4589] This returns the daily recurring moments of the schedule. If none is present, a zero-length array is returned.

[4590] See Also

[4591] Schedule Class|ActionEngine.Api.Schedule Namespace

[4592] API Class Library

[4593] Schedule.End Property

[4594] This represents an ending bound on the entire schedule.

[4595] public System.DateTime End {get; set;}

[4596] Remarks

[4597] This represents an ending bound on the entire schedule. If not provided, a value of NoDateTime is used. In a similar way, to clear the end, assign a value of NoDateTime.

[4598] Exceptions Exception Type Condition ApplicationException This is thrown if both the beginning and end are specified, and the beginning is not before the end.

[4599] See Also

[4600] Schedule Class|ActionEngine.Api.Schedule Namespace|Beginning

[4601] API Class Library

[4602] Schedule.Moments Property

[4603] This returns the moments of the schedule.

[4604] public System.DateTime

Moments {get;}

[4605] Remarks

[4606] This returns the moments of the schedule. If none is present, a zero-length array is returned.

[4607] See Also

[4608] Schedule Class|ActionEngine.Api.Schedule Namespace

[4609] API Class Library

[4610] Schedule.MonthlyMoments Property

[4611] This returns the monthly moments of the schedule.

[4612] public MonthlyMoment

MonthlyMoments {get;}

[4613] Remarks

[4614] This returns the monthly moments of the schedule. If none is present, a zero-length array is returned.

[4615] See Also

[4616] Schedule Class|ActionEngine.Api.Schedule Namespace

[4617] API Class Library

[4618] Schedule Methods

[4619] The methods of the Schedule class are listed below. For a complete list of Schedule class members, see the Schedule Members topic. Public Instance Methods AddDailyMoment This adds a daily moment to the schedule. AddDailyRecurring This adds a daily recurring moment to the schedule. AddMoment This adds a moment to the schedule. AddMonthlyMoment This adds a monthly moment to the schedule. Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetHashCode (inherited from Object) Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table. GetNextMoment This returns the first moment that follows the reference moment, or NoDateTime if none exists. GetType (inherited from Object) Gets the Type of the current instance. RemoveDailyMoment This removes a daily moment from the schedule. RemoveDailyRecurring This removes a daily recurring moment from the schedule. RemoveMoment This removes a moment from the schedule. RemoveMonthlyMoment This removes a monthly moment from the schedule. ToString This returns an XML representation of the schedule. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone (inherited from Object) Creates a shallow copy of the current Object.

[4620] See Also

[4621] Schedule Class|ActionEngine.Api.Schedule Namespace

[4622] API Class Library

[4623] Schedule.AddDailyMoment Method

[4624] This adds a daily moment to the schedule.

[4625] public void AddDailyMoment(

[4626] DailyMoment dailyMoment

[4627] );

[4628] Parameters

[4629] dailyMoment

[4630] The daily moment to add.

[4631] Exceptions

[4632] See Also

[4633] Schedule Class|ActionEngine.Api.Schedule Namespace

[4634] API Class Library

[4635] Schedule.AddDailyRecurring Method

[4636] This adds a daily recurring moment to the schedule.

[4637] public void AddDailyRecurring(

[4638] DailyRecurring dailyRecurring

[4639] );

[4640] Parameters

[4641] dailyRecurring

[4642] The daily recurring moment to add.

[4643] Exceptions Exception Type Condition ApplicationException This is thrown if the daily recurring moment already exists.

[4644] See Also

[4645] Schedule Class|ActionEngine.Api.Schedule Namespace

[4646] API Class Library

[4647] Schedule.AddMoment Method

[4648] This adds a moment to the schedule.

[4649] public void AddMoment(

[4650] DateTime moment

[4651] );

[4652] Parameters

[4653] moment

[4654] The moment to add.

[4655] Exceptions Exception Type Condition ApplicationException This is thrown if the moment already exists or if NoDateTime is attempted to be added.

[4656] See Also

[4657] Schedule Class|ActionEngine.Api.Schedule Namespace

[4658] API Class Library

[4659] Schedule.AddMonthlyMoment Method

[4660] This adds a monthly moment to the schedule.

[4661] public void AddMonthlyMoment(

[4662] MonthlyMoment monthlyMoment

[4663] );

[4664] Parameters

[4665] monthlyMoment

[4666] The monthly moment to add.

[4667] Exceptions Exception Type Condition ApplicationException This is thrown if the monthly moment already exists.

[4668] See Also

[4669] Schedule Class|ActionEngine.Api.Schedule Namespace

[4670] API Class Library

[4671] Schedule.GetNextMoment Method

[4672] This returns the first moment that follows the reference moment, or NoDateTime if none exists.

[4673] public DateTime GetNextMoment(

[4674] DateTime reference

[4675] );

[4676] Parameters

[4677] reference

[4678] The reference moment.

[4679] Return Value

[4680] The next moment, or NoDateTime if none exists.

[4681] Remarks

[4682] This returns the first moment that follows the reference moment, or NoDateTime if none exists. It's possible for a schedule to have several instances of the same moment scheduled in different ways. For example, a monthly moment could be scheduled for 8:00 AM on the first of every month, and a daily moment could also be scheduled for 8:00 AM. In this case, the 8:00 AM moment would exist twice at times, but the implementation of this method does not return 8:00 if given 8:00. It would find the next moment that follows 8:00.

[4683] If the schedule has a Beginning and you want to search for the first moment, pass in any DateTime earlier than the beginning (but not the NoDateTime value).

[4684] Exceptions Exception Type Condition ApplicationException This is thrown when the reference moment is NoDateTime.

[4685] See Also

[4686] Schedule Class|ActionEngine.Api.Schedule Namespace

[4687] API Class Library

[4688] Schedule.RemoveDailyMoment Method

[4689] This removes a daily moment from the schedule.

[4690] public bool RemoveDailyMoment(

[4691] DailyMoment dailyMoment

[4692] );

[4693] Parameters

[4694] dailyMoment

[4695] The daily moment to remove.

[4696] Return Value

[4697] True if found, false otherwise.

[4698] See Also

[4699] Schedule Class|ActionEngine.Api.Schedule Namespace

[4700] API Class Library

[4701] Schedule.RemoveDailyRecurring Method

[4702] This removes a daily recurring moment from the schedule.

[4703] public bool RemoveDailyRecurring(

[4704] DailyRecurring dailyRecurring

[4705] );

[4706] Parameters

[4707] dailyRecurring

[4708] The daily recurring moment to remove.

[4709] Return Value

[4710] True if found, false otherwise.

[4711] See Also

[4712] Schedule Class|ActionEngine.Api.Schedule Namespace

[4713] API Class Library

[4714] Schedule.RemoveMoment Method

[4715] This removes a moment from the schedule.

[4716] public bool RemoveMoment(

[4717] DateTime moment

[4718] );

[4719] Parameters

[4720] moment

[4721] The moment to remove.

[4722] Return Value

[4723] True if found, false otherwise.

[4724] See Also

[4725] Schedule Class|ActionEngine.Api.Schedule Namespace

[4726] API Class Library

[4727] Schedule.RemoveMonthlyMoment Method

[4728] This removes a monthly moment from the schedule.

[4729] public bool RemoveMonthlyMoment(

[4730] MonthlyMoment monthlyMoment

[4731] );

[4732] Parameters

[4733] monthlyMoment

[4734] The monthly moment to remove.

[4735] Return Value

[4736] True if found, false otherwise.

[4737] See Also

[4738] Schedule Class|ActionEngine.Api.Schedule Namespace

[4739] API Class Library

[4740] Schedule.ToString Method

[4741] This returns an XML representation of the schedule.

[4742] public override string ToString( );

[4743] Return Value

[4744] An XML representation of the schedule.

[4745] Remarks

[4746] This returns an XML representation of the schedule. For more information on the format of the XML, see the Schedule constructor.

[4747] See Also

[4748] Schedule Class|ActionEngine.Api.Schedule Namespace

[4749] API Class Library

[4750] Scheduler Class

[4751] This class is responsible for managing schedules related to tasks and feature commands.

[4752] For a list of all members of this type, see Scheduler Members.

[4753] System.Object

[4754] Scheduler

[4755] public abstract class Scheduler

[4756] Requirements

[4757] Namespace: ActionEngine.Api.Schedule

[4758] Assembly: aefwapi (in aefwapi.dll)

[4759] See Also

[4760] Scheduler Members|ActionEngine.Api.Schedule Namespace

[4761] API Class Library

[4762] Scheduler Members

[4763] Scheduler overview Public Static Methods AddFeatureSchedule This adds a feature schedule to the scheduler. AddTaskSchedule This adds a task schedule to the scheduler. GetFeatureSchedules Overloaded. This returns all feature schedules for the given user. GetTaskSchedule This returns the task schedule for the given component ID. RemoveFeatureSchedule This removes a feature schedule from the scheduler. RemoveTaskSchedule This removes a task schedule from the scheduler. Public Instance Methods Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetHashCode (inherited from Object) Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Object) Gets the Type of the current instance. ToString (inherited from Object) Returns a String that represents the current Object. Protected Instance Constructors Scheduler Constructor Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone (inherited from Object) Creates a shallow copy of the current Object.

[4764] See Also

[4765] Scheduler Class|ActionEngine.Api.Schedule Namespace

[4766] API Class Library

[4767] Scheduler Constructor

[4768] protected Scheduler( );

[4769] See Also

[4770] Scheduler Class|ActionEngine.Api.Schedule Namespace

[4771] API Class Library

[4772] Scheduler Methods

[4773] The methods of the Scheduler class are listed below. For a complete list of Scheduler class members, see the Scheduler Members topic. Public Static Methods AddFeatureSchedule This adds a feature schedule to the scheduler. AddTaskSchedule This adds a task schedule to the scheduler. GetFeatureSchedules Overloaded. This returns all feature schedules for the given user. GetTaskSchedule This returns the task schedule for the given component ID. RemoveFeatureSchedule This removes a feature schedule from the scheduler. RemoveTaskSchedule This removes a task schedule from the scheduler. Public Instance Methods Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetHashCode (inherited from Object) Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Object) Gets the Type of the current instance. ToString (inherited from Object) Returns a String that represents the current Object. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone (inherited from Object) Creates a shallow copy of the current Object.

[4774] See Also

[4775] Scheduler Class|ActionEngine.Api.Schedule Namespace

[4776] API Class Library

[4777] Scheduler.AddFeatureSchedule Method

[4778] This adds a feature schedule to the scheduler.

[4779] public static void AddFeatureSchedule(

[4780] FeatureSchedule featureSchedule

[4781] );

[4782] Parameters

[4783] featureSchedule

[4784] The feature schedule to add.

[4785] Remarks

[4786] Before calling this, make sure you check the device's IsPushable property.

[4787] See Also

[4788] Scheduler Class|ActionEngine.Api.Schedule Namespace

[4789] API Class Library

[4790] Scheduler.AddTaskSchedule Method

[4791] This adds a task schedule to the scheduler.

[4792] public static void AddTaskSchedule(

[4793] TaskSchedule taskSchedule

[4794] );

[4795] Parameters

[4796] taskSchedule

[4797] The task schedule to add.

[4798] Exceptions Exception Type Condition ApplicationException This is thrown if a task schedule already exists for the component ID, or if there are other problems.

[4799] See Also

[4800] Scheduler Class|ActionEngine.Api.Schedule Namespace

[4801] API Class Library

[4802] Scheduler.GetFeatureSchedules Method

[4803] This returns all feature schedules for the given user.

[4804] Overload List

[4805] This returns all feature schedules for the given user.

[4806] public static FeatureSchedule

GetFeatureSchedules(UserName);

[4807] This returns all feature schedules for the given user and feature ID.

[4808] public static FeatureSchedule

GetFeatureSchedules(UserName,string);

[4809] See Also

[4810] Scheduler Class|ActionEngine.Api.Schedule Namespace

[4811] API Class Library

[4812] Scheduler.GetFeatureSchedules Method (UserName)

[4813] This returns all feature schedules for the given user.

[4814] public static FeatureSchedule

GetFeatureSchedules(

[4815] UserName userName

[4816] );

[4817] Parameters

[4818] userName

[4819] The user name.

[4820] Return Value

[4821] All feature schedules for the given user. If none is present, a zero-length array is returned.

[4822] See Also

[4823] Scheduler Class|ActionEngine.Api.Schedule Namespace Scheduler.GetFeatureSchedules Overload List

[4824] API Class Library

[4825] Scheduler.GetFeatureSchedules Method (UserName, String)

[4826] This returns all feature schedules for the given user and feature ID.

[4827] public static FeatureSchedule

GetFeatureSchedules(

[4828] UserName userName,

[4829] string featureId

[4830] );

[4831] Parameters

[4832] userName

[4833] The user name.

[4834] featureId

[4835] The feature ID, fully qualified with the resource namespace, or null to ignore feature ID.

[4836] Return Value

[4837] All feature schedules for the given feature ID and user. If none is present, a zero-length array is returned.

[4838] See Also

[4839] Scheduler Class|ActionEngine.Api.Schedule Namespace Scheduler.GetFeatureSchedules Overload List

[4840] API Class Library

[4841] Scheduler.GetTaskSchedule Method

[4842] This returns the task schedule for the given component ID.

[4843] public static TaskSchedule GetTaskSchedule(

[4844] string componentId

[4845] );

[4846] Parameters

[4847] componentId

[4848] The ID of the component that implements the ITask interface.

[4849] Return Value

[4850] The task schedule for the given component ID, or null if none is defined.

[4851] See Also

[4852] Scheduler Class|ActionEngine.Api.Schedule Namespace

[4853] API Class Library

[4854] Scheduler.RemoveFeatureSchedule Method

[4855] This removes a feature schedule from the scheduler.

[4856] public static bool RemoveFeatureSchedule(

[4857] Guid featureScheduleId

[4858] );

[4859] Parameters

[4860] feature ScheduleId

[4861] The ID of the feature schedule to remove. See Id.

[4862] Return Value

[4863] True if found, false otherwise.

[4864] See Also

[4865] Scheduler Class|ActionEngine.Api.Schedule Namespace

[4866] API Class Library

[4867] Scheduler.RemoveTaskSchedule Method

[4868] This removes a task schedule from the scheduler.

[4869] public static bool RemoveTaskSchedule(

[4870] Guid taskScheduleId

[4871] );

[4872] Parameters

[4873] taskScheduleId

[4874] The ID of the task schedule to remove. See Id

[4875] Return Value

[4876] True if found, false otherwise.

[4877] See Also

[4878] Scheduler Class|ActionEngine.Api.Schedule Namespace

[4879] API Class Library

[4880] TaskSchedule Class

[4881] This class represents a task schedule.

[4882] For a list of all members of this type, see TaskSchedule Members.

[4883] System.Object

[4884] TaskSchedule

[4885] public class TaskSchedule

[4886] Remarks

[4887] This class represents a task schedule. The scheduler causes RunTask to be called according to the defined schedule. In an environment where scalability is achieved through running several instances of the plugin host, the scheduler ensures that only one instance picks up the request at a time.

[4888] Task schedules can also be defined in a plugin's install.xml file. Here is an example: <install>   <content>     <component name=“mytask” type=“task”>       <class            assembly=“mytask.dll”     lang=“.net”>MyCompany.MyTask</class>       <taskSchedule>         <friendlyName>My task schedule</friendlyName>         <schedule beginning=“2003... See the Schedule(string       xml) constructor for more information on the schedule       XML       schema.         </schedule>         <taskData>my data</taskData>       </taskSchedule>     </component>   </content>   ... </install>

[4889] For more information on the schedule XML schema, see Schedule.

[4890] When it's time to call into ITask.RunTask( ), the scheduler passes in the task data that is defined in either install.xml as <taskData>my data</taskData> or as passed to the TaskSchedule constructor.

[4891] Only one task schedule is allowed per component ID. During plugin install, if install.xml defines a task schedule, it replaces any existing task schedule that might have been defined for that component. Task schedules can be added and removed programatically as well (see AddTaskSchedule and RemoveTaskSchedule).

[4892] Requirements

[4893] Namespace: ActionEngine.Api.Schedule

[4894] Assembly: aefwapi (in aefwapi.dll)

[4895] See Also

[4896] TaskSchedule Members|ActionEngine.Api.Schedule Namespace

[4897] API Class Library

[4898] TaskSchedule Members TaskSchedule overview Public Instance Constructors TaskSchedule Constructor This constructs a new task schedule. Public Instance Properties ComponentId This returns the component ID associated with the task schedule. FriendlyName This returns the friendly name of the task schedule. Id This returns the task schedule's ID. Schedule This returns the schedule. TaskData This returns the task data, which is the data passed into RunTask each time the scheduler initiates a call. Public Instance Methods Equals (inherited from Object) Determines whether the specified Object is equal to the current Object. GetHashCode (inherited from Object) Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table. GetType (inherited from Object) Gets the Type of the current instance. ToString (inherited from Object) Returns a String that represents the current Object. Protected Instance Methods Finalize (inherited from Object) Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. MemberwiseClone (inherited from Object) Creates a shallow copy of the current Object.

[4899] See Also

[4900] TaskSchedule Class|ActionEngine.Api.Schedule Namespace

[4901] API Class Library

[4902] TaskSchedule Constructor

[4903] This constructs a new task schedule.

[4904] public TaskSchedule(

[4905] Schedule schedule,

[4906] string friendlyName,

[4907] string taskData,

[4908] string componentId

[4909] );

[4910] Parameters

[4911] schedule

[4912] The schedule.

[4913] friendlyName

[4914] The friendly name used for administrative purposes.

[4915] taskData

[4916] The task data that is passed into RunTask each time the scheduler initiates a call.

[4917] componentId

[4918] The fully-qualified component ID of the ITask module, which is defined in install.xml.

[4919] See Also

[4920] TaskSchedule Class|ActionEngine.Api.Schedule Namespace|Scheduler

[4921] API Class Library

[4922] TaskSchedule Properties

[4923] The properties of the TaskSchedule class are listed below. For a complete list of TaskSchedule class members, see the TaskSchedule Members topic.

[4924] Public Instance Properties ComponentId This returns the component ID associated with the task schedule. FriendlyName This returns the friendly name of the task schedule. Id This returns the task schedule's ID. Schedule This returns the schedule. TaskData This returns the task data, which is the data passed into RunTask each time the scheduler initiates a call.

[4925] See Also

[4926] TaskSchedule Class ActionEngine.Api.Schedule Namespace

[4927] API Class Library

[4928] TaskSchedule.ComponentId Property

[4929] This returns the component ID associated with the task schedule.

[4930] public string Componentid {get;}

[4931] See Also

[4932] TaskSchedule Class|ActionEngine.Api.Schedule Namespace

[4933] API Class Library

[4934] TaskSchedule.FriendlyName Property

[4935] This returns the friendly name of the task schedule.

[4936] public string FriendlyName {get;}

[4937] See Also

[4938] TaskSchedule Class|ActionEngine.Api.Schedule Namespace

[4939] API Class Library

[4940] TaskSchedule.Id Property

[4941] This returns the task schedule's ID.

[4942] public System.Guid Id {get;}

[4943] Remarks

[4944] The ID is only available after retrieving the task schedule from the database. Otherwise, the value is Guid.Empty.

[4945] See Also

[4946] TaskSchedule Class|ActionEngine.Api.Schedule Namespace

[4947] API Class Library

[4948] TaskSchedule.Schedule Property

[4949] This returns the schedule.

[4950] public Schedule Schedule {get;}

[4951] See Also

[4952] TaskSchedule Class|ActionEngine.Api.Schedule Namespace

[4953] API Class Library

[4954] TaskSchedule.TaskData Property

[4955] This returns the task data, which is the data passed into RunTask each time the scheduler initiates a call.

[4956] public string TaskData {get;}

[4957] See Also

[4958] TaskSchedule Class|ActionEngine.Api.Schedule Namespace 

1. A computer implemented method for accessing a wireless mobile device service provider server via a programming interface layer, the method comprising: encapsulating a function call encapsulation of a function-specific parameter identified a associated with an executable programming interface layer function; generating a programming interface function call directed to said executable programming interface layer function, wherein said programming interface function call includes said function call encapsulation of data; and obtaining an indication of an programming interface response from said executable programming interface layer function.
 2. The method of claim 1, further comprising directing said programming interface response to a specific wireless mobile device.
 3. A computer system comprising: a processor; and memory coupled to the processor having a plurality of programming instructions implementing a programming interface layer for service provider delivery of data services to client devices, the programming interface layer including solution delivery functions usable by any of a plurality of vendors to deliver solutions via the service provider, the programming interface layer including a plurality of executable service functions; a parameter processing module for processing function-specific parameters, including device information for the wireless mobile device, for one of said plurality of executable service functions wherein said function-specific parameters are associated with one of said executable service functions; and a response generating module for generating a function-specific response from one of said executable service functions, wherein said function-specific response is associated with one of said executable service functions and includes said device information.
 4. The computer system of claim 3, wherein the programming interface layer further comprises a scheduling module for scheduling tasks via said executable service functions.
 5. The computer system of claim 3, wherein said programming interface layer defines a plurality of classes including at least a selected one of AnswersResponse, BinaryResource, BooleanResponse, ClientInfo, CodeResponse, Concepts, ConceptsResponse, ConceptValues, ConfigFile, DeckResponse, Device, Devices, Identity, ImageResource, InfoRequest, InfoRequestResponse, InfoResponse, Message, MessageResponse, Resource, ResourceReference, ResourcesResponse, Response, Result, User, and UserDataResponse.
 6. The computer system of claim 3, wherein said programming interface layer defines a plurality of methods including at least a selected one of AddMessage, Equals, AddData, GetString, GetEnumerator, CreateUser, DeleteUser, DoesUserExist, GetSignupConcepts, GetSupportedData, GetUserData, LogOn, ModifyUserData, SetIdentity, SetPassword, SetPrimaryUserData, AppendResource, AppendResourceReference, DoFeatureCommand, DoSolutionCommand, GetDeck, GetResources, SubmitConcepts, GetInfo, and GetInfoRequest.
 7. A programming interface layer for service provider delivery of data services to wireless mobile devices, the programming interface layer including solution delivery functions usable by any of a plurality of vendors to deliver solutions via the service provider, the programming interface layer comprising: a plurality of executable service functions; a parameter processing module for processing function-specific parameters, including device information for the wireless mobile device, for one of said plurality of executable service functions wherein said function-specific parameters are associated with one of said executable service functions; and a response generating module for generating a function-specific response from one of said executable service functions, wherein said function-specific response is associated with one of said executable service functions and includes said device information.
 8. The programming interface layer of claim 7, further comprising a scheduling module for scheduling tasks via said executable service functions.
 9. The programming interface layer of claim 7, further defining a plurality of classes including at least a selected one of AnswersResponse, BinaryResource, BooleanResponse, ClientInfo, CodeResponse, Concepts, ConceptsResponse, ConceptValues, ConfigFile, DeckResponse, Device, Devices, Identity, ImageResource, InfoRequest, InfoRequestResponse, InfoResponse, Message, MessageResponse, Resource, ResourceReference, ResourcesResponse, Response, Result, User, and UserDataResponse.
 10. The programming interface layer of claim 7, further defining a plurality of methods including at least a selected one of AddMessage, Equals, AddData, GetString, GetEnumerator, CreateUser, DeleteUser, DoesUserExist, GetSignupConcepts, GetSupportedData, GetUserData, LogOn, ModifyUserData, SetIdentity, SetPassword, SetPrimaryUserData, AppendResource, AppendResourceReference, DoFeatureCommand, DoSolutionCommand, GetDeck, GetResources, SubmitConcepts, GetInfo, and GetInfoRequest.
 11. A computer readable medium containing computer executable instructions for a programming interface layer for service provider delivery of data services to client devices, the programming interface layer including solution delivery functions usable by any of a plurality of vendors to deliver solutions via the service provider, the programming interface layer including a plurality of executable service functions; a parameter processing module for processing function-specific parameters, including device information for the wireless mobile device, for one of said plurality of executable service functions wherein said function-specific parameters are associated with one of said executable service functions; and a response generating module for generating a function-specific response from one of said executable service functions, wherein said function-specific response is associated with one of said executable service functions and includes said device information.
 12. The computer readable medium of claim 11, wherein the programming interface layer further comprises a scheduling module for scheduling tasks via said executable service functions.
 13. The computer readable medium of claim 11, wherein said programming interface layer defines a plurality of classes including at least a selected one of AnswersResponse, BinaryResource, BooleanResponse, ClientInfo, CodeResponse, Concepts, ConceptsResponse, ConceptValues, ConfigFile, DeckResponse, Device, Devices, Identity, ImageResource, InfoRequest, InfoRequestResponse, InfoResponse, Message, MessageResponse, Resource, ResourceReference, ResourcesResponse, Response, Result, User, and UserDataResponse.
 14. The computer readable medium of claim 11, wherein said programming interface layer defines a plurality of methods including at least a selected one of AddMessage, Equals, AddData, GetString, GetEnumerator, CreateUser, DeleteUser, DoesUserExist, GetSignupConcepts, GetSupportedData, GetUserData, LogOn, ModifyUserData, SetIdentity, SetPassword, SetPrimaryUserData, AppendResource, AppendResourceReference, DoFeatureCommand, DoSolutionCommand, GetDeck, GetResources, SubmitConcepts, GetInfo, and GetInfoRequest. 